如何在RSS源中添加换行符?

时间:2009-08-29 10:38:04

标签: php xml rss feeds rss2

我正在用PHP构建自己的自定义RSS提要。我希望标记包含换行符以使文本更具可读性。但是,我似乎无法弄清楚如何正确地做到这一点。无论我尝试什么,一些RSS阅读器都会错误地解释它。是否有一些标准的最佳方式来添加换行符和RSS 2.0 Feed?

我尝试过“\ n”,它可以在Mac上的NetNewsWire中运行,但内置的Safari浏览器的RSS阅读器会被忽略。

我尝试过< br />,它可以在Safari RSS阅读器中使用,但会在NetNewsWire被切断后生成所有文本。

4 个答案:

答案 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&lt;br&gt;second line</description>

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

答案 3 :(得分:0)

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