2009-08-29 15 views
4

Je construis mon propre flux RSS personnalisé en PHP. Je veux que l'étiquette contienne des sauts de ligne pour rendre le texte plus lisible. Cependant, je n'arrive pas à comprendre comment le faire correctement. Peu importe ce que j'essaie, certains lecteurs RSS l'interprètent incorrectement. Existe-t-il un moyen standard d'ajouter un saut de ligne et un flux RSS 2.0?Comment ajouter des sauts de ligne dans les flux RSS?

J'ai essayé "\ n", qui fonctionne dans NetNewsWire sur le Mac, mais est ignoré par le lecteur RSS intégré du navigateur Safari.

J'ai essayé < br/>, qui fonctionne dans le lecteur RSS Safari, mais entraîne dans tout le texte après le
être coupé dans NetNewsWire.

Répondre

9

Par défaut, les lecteurs essaieront d'analyser vos données à moins que vous ne leur disiez de ne pas le faire. Pour les faire passer au-dessus et présenter comme vous avez l'intention, vous devez declare a CDATA section in the RSS.

Si les données brutes a déjà des sauts de ligne, alors vous devriez également être en mesure d'utiliser simplement la fonction nl2br() ajouter dans la <br /> comme ceci:

echo '<description><![CDATA[ ' .nl2br($desc_data). ' ]]></description>'; 

Si vous ne déclarez pas la section CDATA, la Les lecteurs RSS verront les balises HTML que vous pourriez avoir dans le cadre du RSS réel et attendront un nœud ou un élément du flux RSS.

1

Vous pouvez utiliser CDATA et sauts de ligne html: < br/>
Exemple:

< [CDATA [Salut Flux RSS < br/>
Voici la nouvelle ligne ]] >

0

Le RSS specification indique que oui, vous pouvez utiliser HTML dans une description, mais bien sûr, il doit être correctement échappé car il est incorporé dans XML. Donc, en utilisant un <br> est la bonne idée, mais vous devez encoder en utilisant l'une de ces méthodes, faites votre choix:

<description>first line&lt;br&gt;second line</description> 

<description><![CDATA[first line<br>second line]]></description> 
Questions connexes