Aller au contenu

Sujets conseillés

Posté

Bonjour,

Je créé des flux rss via php, l'un d'entre eux contient les derniers évènements se déroulant dans ma communauté de communes, le voici: http://www.cap-sizun.com/rss.php?sujet=age...1&nb_car=88

Le problème est qu'il ne veut pas s'afficher sous firefox, il a quelque chose qui bloque. Il s'affiche lorsque l'on fixe le nb_items à 6 mais disparait à nouveau lorsque que l'on choisi un nb_car supérieur à 88 (le nombre de caractères dans la description).

j'ai retourné le problème dans tous les sens, supprimé tous les accents ou caractères spéciaux mais rien n'y fait, il y a toujours quelque chose qui bloque.

Feed validator me raconte que l'élément description n'a rien à faire à cet endroit (au niveau du 6ème item), je ne vois vraiment pas ce qui n'est pas correct.

Si vous avez une idée de la provenance du problème, je vous en serai reconnaissant ;)

Posté

Ça bloque après le 39ème caractère pour moi, sous IE et Firefox.

C'est sans doute le tiret après "Kerros" qui doit être mal encodé. Essaye de le supprimer, pour voir ?

Posté

Je ne vois pas de tiret après Kerros, peux tu m'en dire plus ? Effectivement, le flux s'affiche correctement jusqu'au caractère 39 mais je ne parviens pas à visualiser ce qui bloque :blushing:

D'autre part, existe-il une fonction php toute faite qui retirerait/remplacerait tous les caractères incompatibles avec le format RSS ?

Posté

Après Kerros, j'avais un "à" que j'ai modifié en "a" pour essayer et ça ne fonctionne toujours pas.

Rrrr, ce flux RSS commence à m'exaspérer, je ne comprend vraiment pas d'où peut venir le problème :IMSTP1:

Posté

Merci pour ton aide et ta patience, j'ai supprimé l'espace après Kerros et ça ne fonctionne toujours pas.

Ma fonction qui coupe les mots est une bête substr()

if (strlen($msg_data['description']) > $_GET['nb_car']){
$xml .="\t".'<description><![CDATA['.mef_rss(substr($msg_data['description'], 0, $_GET['nb_car'])).' ...]]></description>'."\n";}
else {
$xml .="\t".'<description><![CDATA['.mef_rss($msg_data['description']).']]><description>'."\n";}

Et ma fonction mef_rss()

	function mef_rss($description)
{
$description = strip_tags($description);
$description = str_replace("&",'&',$description);
$description = str_replace("<","<",$description);
$description = str_replace(">",">",$description);
$description = str_replace("","Euros",$description);
$description = str_replace("\n","",$description);
$description = str_replace("\r","",$description);
$description = stripslashes($description);
$description = trim($description);
return $description;
}

Désolé pour les puristes, il y a des choses qui servent probablement à rien mais je compte les supprimer au fur et à mesure lorsque mon flux fonctionnera.

Posté

Quel honte ! :blush:

Et maintenant, que dois-je faire ? Emigrer dans la Creuse et me planquer jusqu'à la fin de mes jours ? ;)

Plus sérieusement, merci de t'être penché sur ce problème et d'avoir trouvé la faille, ça aurait pu me prendre des jours...

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...