我正在用PHP构建自己的自定义RSS提要。我希望标记包含换行符以使文本更具可读性。但是,我似乎无法弄清楚如何正确地做到这一点。无论我尝试什么,一些RSS阅读器都会错误地解释它。是否有一些标准的最佳方式来添加换行符和RSS 2.0 Feed?
我尝试过“\ n”,它可以在Mac上的NetNewsWire中运行,但内置的Safari浏览器的RSS阅读器会被忽略。
我尝试过< br />,它可以在Safari RSS阅读器中使用,但会在NetNewsWire被切断后生成所有文本。
答案 0 :(得分:10)
默认情况下,读者会尝试解析您的数据,除非您告诉他们不要。要让他们跳过它并按照您的意愿展示它,您必须declare a CDATA
section in the RSS。
如果原始数据已有换行符,那么您还应该只能使用nl2br()
函数添加<br />
,如下所示:
echo '<description><![CDATA[ ' .nl2br($desc_data). ' ]]></description>';
如果您没有声明CDATA
部分,RSS阅读器将会看到您可能拥有的任何HTML标记作为实际RSS的一部分,并期望RSS源的实际节点或元素。
答案 1 :(得分:1)
您可以使用CDATA和html换行符:&lt; br /&gt;
例如:
&lt;![CDATA [Hi Rss feed&lt; br /&gt;
这是新行
]&GT;
答案 2 :(得分:1)
RSS specification表示是的,你可以在描述中使用HTML,但当然它需要被正确转义,因为它嵌入在XML中。因此,使用<br>
是正确的想法,但您需要使用以下任一方法对其进行编码,请选择:
<description>first line<br>second line</description>
<description><![CDATA[first line<br>second line]]></description>
答案 3 :(得分:0)
file_put_contents("rss.txt","<br>") roach idea