【问题标题】:How to add line breaks in RSS feeds?如何在 RSS 提要中添加换行符?
【发布时间】:2009-08-29 10:38:03
【问题描述】:

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

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

我试过
,它在Safari RSS阅读器中工作,但导致
之后的所有文本在NetNewsWire中被截断。

【问题讨论】:

    标签: php xml rss feed rss2


    【解决方案1】:

    默认情况下,读者会尝试解析您的数据,除非您告诉他们不要这样做。要让他们跳过它并按照您的意愿展示它,您必须declare a CDATA section in the RSS

    如果原始数据已经有换行符,那么您也应该能够像这样使用nl2br() 函数添加<br />

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

    如果您不声明 CDATA 部分,RSS 阅读器将看到您可能拥有的任何 HTML 标记作为实际 RSS 的一部分,并期望 RSS 提要的实际节点或元素。

    【讨论】:

      【解决方案2】:

      您可以使用 CDATA 和 html 换行符:

      示例:


      这是新行 ]]>

      【讨论】:

        【解决方案3】:

        RSS specification 声明是的,您可以在描述中使用 HTML,但它当然需要正确转义,因为它嵌入在 XML 中。因此,使用&lt;br&gt; 是正确的想法,但您需要使用这些方法中的任何一种对其进行编码,请自行选择:

        <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
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-05-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-10-19
            • 1970-01-01
            • 2013-01-24
            相关资源
            最近更新 更多