Cleden Posté 9 Avril 2008 Posté 9 Avril 2008 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
captain_torche Posté 9 Avril 2008 Posté 9 Avril 2008 Ç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 ?
Cleden Posté 9 Avril 2008 Auteur Posté 9 Avril 2008 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 D'autre part, existe-il une fonction php toute faite qui retirerait/remplacerait tous les caractères incompatibles avec le format RSS ?
captain_torche Posté 10 Avril 2008 Posté 10 Avril 2008 Autant pour moi, j'ai confondu avec Perros-Guirec ... Quel caractère as-tu après le "s" de Kerros ?
Cleden Posté 10 Avril 2008 Auteur Posté 10 Avril 2008 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
captain_torche Posté 10 Avril 2008 Posté 10 Avril 2008 J'imagine qu'entre le Kerros et le "à" tu as un espace ? Essaye de le supprimer pour voir. Tu pourrais également donner le code de ta fonction qui coupe les mots ?
Cleden Posté 10 Avril 2008 Auteur Posté 10 Avril 2008 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.
captain_torche Posté 10 Avril 2008 Posté 10 Avril 2008 Aaarhh ! C'était tout bête ! Les éléments 6 à 9 ont une mauvaise balise "description" : elle n'est pas fermée; il manque l'antislash.
Cleden Posté 10 Avril 2008 Auteur Posté 10 Avril 2008 Quel honte ! 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...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant