Domanda

Sto costruendo il mio feed RSS personalizzato in PHP. Voglio che il tag di contenere interruzioni di riga per rendere il testo più leggibile. Tuttavia, non riesco a capire come farlo correttamente. Non importa quello che provo qualche lettore RSS lo interpreta in modo errato. C'è qualche modo standard migliore per aggiungere una linea-break e RSS 2.0 feed?

Ho cercato "\ n", che opera in NetNewsWire sul Mac, ma viene ignorato dal lettore integrato di RSS di Safari browser.

Ho cercato
, che opera nel lettore di Safari RSS, ma i risultati in tutto il testo dopo il
essere tagliati fuori in NetNewsWire.

È stato utile?

Soluzione

Per impostazione predefinita, i lettori cercheranno di analizzare i dati a meno che non dite loro di non farlo. Per avere loro saltare su di esso e lo presentano come si intende, è necessario dichiarare una sezione CDATA in RSS .

Se i dati grezzi ha già a capo, allora si dovrebbe anche essere in grado di utilizzare solo la funzione nl2br() da aggiungere nel <br /> in questo modo:

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

Se non si dichiara la sezione CDATA, i lettori di feed RSS vedranno alcun tag HTML si potrebbe avere come parte della RSS reale e si aspettano un nodo reale o elemento del feed RSS.

Altri suggerimenti

È possibile utilizzare CDATA e la linea html interruzioni:

Esempio:


Ecco la nuova linea ]]>

Il RSS specifica afferma che sì, è possibile utilizzare HTML in una descrizione, ma naturalmente ha bisogno di essere adeguatamente sfuggito perché è incorporato in XML. Quindi, utilizzando un <br> è l'idea giusta, ma è necessario codificare utilizzando uno di questi metodi, fare la vostra scelta:

<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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top