How to add line breaks in RSS feeds?

吃可爱长大的小学妹 提交于 2019-12-18 04:16:28

问题


I'm building my own custom RSS feed in PHP. I want the tag to contain line breaks to make the text more readable. However, I can't seem to figure out how to do it correctly. No matter what I try some RSS reader interprets it incorrectly. Is there some standard best way to add a line-break in and RSS 2.0 feed?

I have tried "\n", which works in NetNewsWire on the Mac, but gets ignored by the built-in Safari browser's RSS reader.

I have tried <br />, which works in the Safari RSS reader, but results in all the text after the
being cut off in NetNewsWire.


回答1:


By default, readers will try and parse your data unless you tell them not to. To have them skip over it and present it as you intend, you have to declare a CDATA section in the RSS.

If the raw data already has newlines, then you should also be able to just use the nl2br() function to add in the <br /> like so:

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

If you don't declare the CDATA section, the RSS readers will see any HTML tags you might have as part of the actual RSS and expect an actual node or element of the RSS feed.




回答2:


You can use CDATA and html line breaks: <br/>
Example:

<![CDATA[Hi Rss feed<br/>
Here is new line ]]>




回答3:


The RSS specification states that yes, you can use HTML in a description, but of course it needs to be properly escaped because it is embedded in XML. So using a <br> is the right idea, but you need to encode it using either of these methods, take your pick:

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

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



回答4:


file_put_contents("rss.txt","<br>") roach idea


来源:https://stackoverflow.com/questions/1351107/how-to-add-line-breaks-in-rss-feeds

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!