我正在PHP中構建自己的自定義RSS源。我希望標籤包含換行符以使文本更具可讀性。但是,我似乎無法弄清楚如何正確地做到這一點。無論我嘗試一些RSS閱讀器不正確地解釋它。是否有一些標準的最佳方式來添加換行符和RSS 2.0提要?如何在RSS Feed中添加換行符?
我試過「\ n」,它在Mac上的NetNewsWire中工作,但被內置的Safari瀏覽器的RSS閱讀器忽略。
我試過< br/>,它在Safari RSS閱讀器中工作,但導致在NetNewsWire中截斷了
之後的所有文本。
我正在PHP中構建自己的自定義RSS源。我希望標籤包含換行符以使文本更具可讀性。但是,我似乎無法弄清楚如何正確地做到這一點。無論我嘗試一些RSS閱讀器不正確地解釋它。是否有一些標準的最佳方式來添加換行符和RSS 2.0提要?如何在RSS Feed中添加換行符?
我試過「\ n」,它在Mac上的NetNewsWire中工作,但被內置的Safari瀏覽器的RSS閱讀器忽略。
我試過< br/>,它在Safari RSS閱讀器中工作,但導致在NetNewsWire中截斷了
之後的所有文本。
默認情況下,讀者會嘗試解析您的數據,除非您告訴他們不要。要讓他們跳過它並按照您的意圖呈現,您必須declare a CDATA
section in the RSS。
如果原始數據已經換行,那麼你也應該能夠只使用nl2br()
功能在<br />
添加像這樣:
echo '<description><![CDATA[ ' .nl2br($desc_data). ' ]]></description>';
如果不申報CDATA
段, RSS閱讀器將看到您可能擁有的任何HTML標籤,作爲實際RSS的一部分,並期望RSS提要的實際節點或元素。
您可以使用CDATA和HTML換行符:< BR/>
!例如:
< [CDATA [喜RSS訂閱< BR/>
這裏是新線 ] >
RSS specification聲明是的,你可以在描述中使用HTML,但當然它需要被正確地轉義,因爲它被嵌入到XML中。因此,使用一個<br>
是正確的想法,但你需要使用以下兩種方法來進行編碼,隨你挑:
<description>first line<br>second line</description>
<description><![CDATA[first line<br>second line]]></description>
file_put_contents("rss.txt","<br>") roach idea