Question

Je construis mon propre flux RSS personnalisé en PHP. Je veux la balise contient des sauts de ligne pour rendre le texte plus lisible. Cependant, je ne peux pas sembler comprendre comment le faire correctement. Peu importe ce que j'essaie un certain lecteur RSS interprète de manière incorrecte. Y at-il une norme meilleure façon d'ajouter une ligne-break et flux RSS 2.0?

Je l'ai essayé « \ n », qui fonctionne en NetNewsWire sur le Mac, mais est ignorée par le intégré dans le lecteur RSS de navigateur Safari.

J'ai essayé
, qui travaille dans le lecteur RSS Safari, mais les résultats dans tout le texte après la
être coupé en NetNewsWire.

Était-ce utile?

La solution

Par défaut, les lecteurs vont essayer et analyser vos données, sauf si vous leur dites de ne pas. Pour les faire sauter dessus et de le présenter comme vous le souhaitez, vous devez déclarer une section CDATA dans le 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, les lecteurs RSS verront toutes les balises HTML que vous pourriez avoir dans le cadre de la RSS réelle et attendre un nœud réel ou élément du flux RSS.

Autres conseils

Vous pouvez utiliser CDATA et sauts de ligne html:

Exemple:


Voici la nouvelle ligne ]]>

Le RSS spécification stipule que oui, vous pouvez utiliser HTML dans une description, mais bien sûr, il doit être correctement échappé parce qu'il est intégré 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>
file_put_contents("rss.txt","<br>") roach idea
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top