Как добавить разрывы в RSS -каналах?
Вопрос
Я строю свой собственный корм RSS в PHP. Я хочу, чтобы тег содержал разрывы в линии, чтобы сделать текст более читаемым. Тем не менее, я не могу понять, как это сделать правильно. Независимо от того, что я пробую, какой -то читатель RSS интерпретирует это неправильно. Есть ли какой-то стандартный лучший способ добавить перерыв в линии и RSS 2.0 корм?
Я попробовал « n», который работает в NetNewswire на Mac, но его игнорируют встроенным читателем RSS встроенного браузера.
я пыталсяu003Cbr /> , который работает в читателе Safari RSS, но приводит ко всему тексту после
быть отрезанным в NetNewswire.
Решение
По умолчанию читатели попытаются анализировать ваши данные, если вы не скажете им не делать этого. Чтобы они пропустили это и представляли его, как вы собираетесь объявить CDATA
раздел в RSS.
Если данные необработанного уже имеют новую линии, то вы также сможете просто использовать nl2br()
функция, чтобы добавить в <br />
вот так:
echo '<description><![CDATA[ ' .nl2br($desc_data). ' ]]></description>';
Если вы не объявите CDATA
Раздел, читатели RSS увидят любые теги HTML, которые вы можете иметь в рамках фактического RSS, и ожидать фактического узла или элемента RSS -канала.
Другие советы
Вы можете использовать разрывы линий CDATA и HTML:u003Cbr/>
Пример:
u003C![CDATA[Hi Rss feedu003Cbr/>
Вот новая строка]]>>
А RSS -спецификация утверждает, что да, вы можете использовать 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