coto_rss/coto_rss.php

78 lignes
84 Kio
PHP
Brut Vue normale Historique

2013-11-24 21:28:48 +01:00
<?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 &amp;)
Liste des révisions:
rev.13 viré un OK avant certains flux o_O
2013-11-24 21:28:48 +01:00
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(" <?xml" , "<?xml", $boulets);
2013-11-24 21:28:48 +01:00
$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 = str_replace("OK<?xml" , "<?xml", $corrige);
2013-11-24 21:28:48 +01:00
# $corrige = preg_replace('/&(?!amp;|quot;|nbsp;|gt;|lt;|laquo;|raquo;|copy;|reg;|bul;|rsquo;)/', '&amp;', $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.13<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>
2013-11-24 21:28:48 +01:00
<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>
</body>
</html>';
}
?>