Я создаю свой собственный RSS-канал в PHP. Я хочу, чтобы тег содержал разрывы строк, чтобы сделать текст более читаемым. Однако я не могу понять, как это сделать правильно. Независимо от того, что я пробовал, читатель RSS интерпретирует его неправильно. Есть ли какой-нибудь стандартный лучший способ добавить перерыв в строке и RSS 2.0-канал?
Я попробовал «\ n», который работает в NetNewsWire на Mac, но игнорируется встроенным браузером браузера Safari.
Я пробовал <br />, который работает в RSS-читателе Safari, но приводит к получению всего текста после
будучи отключенным в NetNewsWire.
По умолчанию читатели будут пытаться проанализировать ваши данные, если вы им не скажете. Чтобы они пропустили его и представили, как вы намереваетесь, вы должны объявить раздел CDATA
в RSS .
Если исходные данные уже имеют новые строки, то вы также должны иметь возможность использовать nl2br()
для добавления в <br />
следующим образом:
echo '<description><![CDATA[ ' .nl2br($desc_data). ' ]]></description>';
Если вы не объявляете раздел CDATA
, читатели RSS будут видеть любые HTML-теги, которые могут иметь как часть реального RSS, и ожидать реального узла или элемента RSS-канала.
Вы можете использовать разрывы строк CDATA и html: <br/>
Пример:
<! [CDATA [Привет Rss feed <br />
Вот новая строка]]>
В спецификации RSS указано, что да, вы можете использовать HTML в описании, но, конечно, он должен быть правильно экранирован, потому что он встроен в XML. Таким образом, использование нужной идеи – это правильная идея, но вам нужно ее закодировать с помощью любого из этих методов, сделайте выбор:
<description>first line<br>second line</description> <description><![CDATA[first line<br>second line]]></description>
file_put_contents("rss.txt","<br>") roach idea