89 lignes
85 Kio
PHP
89 lignes
85 Kio
PHP
|
<?php
|
|||
|
/*
|
|||
|
* ----------------------------------------------------------------------------
|
|||
|
* « LICENCE BEERWARE » (Révision 42):
|
|||
|
* <romain@albirew.fr> a créé ce fichier. Tant que vous conservez cet avertissement,
|
|||
|
* vous pouvez faire ce que vous voulez de ce truc. Si on se rencontre un jour et
|
|||
|
* que vous pensez que ce truc vaut le coup, vous pouvez me payer une bière en
|
|||
|
* retour.
|
|||
|
* ----------------------------------------------------------------------------
|
|||
|
|
|||
|
ToDo:
|
|||
|
- pouvoir encoder les caractères spéciaux non encodés sans double-coder ceux déjà encodés (certains RSS mélangent les deux du genre titre avec & seul et contenu avec &)
|
|||
|
|
|||
|
Liste des révisions:
|
|||
|
|
|||
|
rev.12 commenté la rev.10 en attendant de mieux (même les caractères déjà encodés étaient réencodés)
|
|||
|
rev.11 ajout effacement de plusieures lignes avant <?xml
|
|||
|
rev.10 changement & grace a preg_replace
|
|||
|
rev.09 ajout caractère &
|
|||
|
rev.08 ajout style et tracker piwik
|
|||
|
rev.07 nettoyage du code, html5 valide
|
|||
|
rev.06 mise en forme page + ajout exemple dans le champ rss du formulaire
|
|||
|
rev.05 ajout formulaire
|
|||
|
rev.04 ajout page si pas de RSS en entrée
|
|||
|
rev.03 ajout caractère SUB
|
|||
|
rev.02 ajout caractères BS et SI
|
|||
|
rev.01 fichier initial
|
|||
|
*/
|
|||
|
if(isset($_GET['rss']))
|
|||
|
{
|
|||
|
$url = $_GET['rss'];
|
|||
|
if(!preg_match('/http[s]?:\/\//', $url, $matches)) $url = 'http://'.$url;
|
|||
|
$boulets = file_get_contents($url);
|
|||
|
header("Pragma: no-cache");
|
|||
|
header("Content-type: application/rss+xml");
|
|||
|
$corrige = str_replace("\n <?xml" , "<?xml", $boulets);
|
|||
|
$corrige = str_replace("\n<?xml" , "<?xml", $corrige);
|
|||
|
$corrige = str_replace("\n<?xml" , "<?xml", $corrige);
|
|||
|
$corrige = str_replace("\n<?xml" , "<?xml", $corrige);
|
|||
|
$corrige = str_replace("\n<?xml" , "<?xml", $corrige);
|
|||
|
$corrige = str_replace("\n<?xml" , "<?xml", $corrige);
|
|||
|
# $corrige = preg_replace('/&(?!amp;|quot;|nbsp;|gt;|lt;|laquo;|raquo;|copy;|reg;|bul;|rsquo;)/', '&', $corrige);
|
|||
|
$corrige = str_replace("" , "", $corrige);
|
|||
|
$corrige = str_replace("" , "", $corrige);
|
|||
|
$corrige = str_replace("" , "", $corrige);
|
|||
|
$correction = str_replace("" , "", $corrige);
|
|||
|
echo $correction;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
echo '<!doctype html>
|
|||
|
<html>
|
|||
|
<head>
|
|||
|
<meta charset="utf-8">
|
|||
|
<title>Correcteur de RSS pour sites web en carton</title>
|
|||
|
<meta name="description" content="Correcteur de RSS pour sites web en carton">
|
|||
|
<style type="text/css">a:link {color:#B03030;}</style>
|
|||
|
</head>
|
|||
|
<body style="margin: 0; background-image: url(data:image/png;base64,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
|
|||
|
<div style="margin:0 0 1px 0; background-image: url(\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAPCAYAAAAlH6X5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEBJREFUeNpieJdb9J+JAQggxO///xmYvv//x8D08d8/BoY/f/58YfgPBGBZ5hs3bmwGsZ6DiPcg4gdIFqIXIMAAfOwcqLCrkOQAAAAASUVORK5CYII=\'); height: 15px;"></div>
|
|||
|
<div style="width: 910px; margin: 0 auto;">
|
|||
|
<h1 style="font-size:220%; letter-spacing: 1px; text-align: center; margin: 0; text-decoration:underline; font-weight:bold;">Correcteur de RSS pour sites web en carton</h1>
|
|||
|
<h2 style="font-size:20px; text-align: right; margin: 0 0 10px 0;">rev.12<br>Enlève certains caractères invisibles qui malforment les flux RSS (peux servir aussi de proxy RSS)<br><br>Mode d`emploi: Mettez l`URL complète du flux RSS que vous voulez, puis cliquez sur GO!.<br></h2>
|
|||
|
<div style="text-align: center; margin: 0;"><form method="get" action="coto_rss.php">
|
|||
|
<input type="text" value="ex: blablabla.fr/rss.php?id=news" size="50" name="rss" onFocus="this.value=\'\'" />
|
|||
|
<button type="submit" value="1">GO!</button>
|
|||
|
</form></div>
|
|||
|
<div style="background-image: url(\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABVJREFUeNpiuH79+jWG////nwEIMAAi+QclPGli9AAAAABJRU5ErkJggg==\'); width: 780px; height:2px; margin: 0 auto;"></div>
|
|||
|
</div>
|
|||
|
<div style="position:fixed; bottom:5px; left:5px; font:15px Courier New; font-size:30px;">
|
|||
|
<a href="https://twitter.com/albirew">Vous aimez? Venez me le tweeter!</a>
|
|||
|
</div>
|
|||
|
<!-- Piwik -->
|
|||
|
<script type="text/javascript">
|
|||
|
var pkBaseURL = (("https:" == document.location.protocol) ? "https://statos.albirew.fr/" : "http://statos.albirew.fr/");
|
|||
|
document.write(unescape("%3Cscript src=\'" + pkBaseURL + "piwik.js\' type=\'text/javascript\'%3E%3C/script%3E"));
|
|||
|
</script><script type="text/javascript">
|
|||
|
try {
|
|||
|
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1);
|
|||
|
piwikTracker.trackPageView();
|
|||
|
piwikTracker.enableLinkTracking();
|
|||
|
} catch( err ) {}
|
|||
|
</script><noscript><p><img src="http://statos.albirew.fr/piwik.php?idsite=1" style="border:0" alt="" /></p></noscript>
|
|||
|
<!-- End Piwik Tracking Code -->
|
|||
|
</body>
|
|||
|
</html>';
|
|||
|
}
|
|||
|
|
|||
|
?>
|