81,6 → 81,39 |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
|
// l'applette est un peu teubée et ne comprend pas certains flux |
// pourtant valides, par sécurité, on supprime donc certains caractères |
function supprimerXmlDangereux($xml) |
{ |
$ret = ""; |
$encours; |
if (empty($xml)) |
{ |
return $ret; |
} |
|
$lg = strlen($xml); |
for ($i=0; $i < $lg; $i++) |
{ |
$encours = ord($xml{$i}); |
if (($encours == 0x9) || |
($encours == 0xA) || |
($encours == 0xD) || |
(($encours >= 0x20) && ($encours <= 0xD7FF)) || |
(($encours >= 0xE000) && ($encours <= 0xFFFD)) || |
(($encours >= 0x10000) && ($encours <= 0x10FFFF))) |
{ |
$ret .= chr($encours); |
} |
else |
{ |
$ret .= " "; |
} |
} |
return $ret; |
} |
|
/** Fonction afficherSyndication() - Retourne la liste des pages des sites syndiqués. |
* |
* Cette fonction retourne la liste des pages des sites syndiqués. |
169,6 → 202,7 |
$encodages = 'UTF-8, ISO-8859-1, ISO-8859-15'; |
try { |
$xml = file_get_contents($url); |
$xml = supprimerXmlDangereux($xml); |
$feed = new XML_Feed_Parser($xml); |
} catch (XML_Feed_Parser_Exception $e) { |
creer_cache('erreur', $xml, 86400); |