2008-09-22 3 views
3

Im пытается поместить код для встраивания html для флеш-ролика в rss feed, который затем будет синтаксическим анализатором парсером (magpie) на моем другом сайте. Как мне кодировать код встраивания с одной стороны, а затем декодировать его на другом, чтобы я мог вставить чистый html в DB на принимающем сервере?Каков наилучший способ передать html-код для встраивания через rss-канал в rss-парсер в php?

ответ

1

Поскольку RSS является XML, вы возможно, захочет проверить CDATA, который, я считаю, действителен в различных спецификациях RSS.

< резюме> < [CDATA [Data Здесь]]>

Вот запись w3schools на нем: http://www.w3schools.com/XML/xml_cdata.asp

0

htmlencode/htmldecode должен делать трюк.

0

Я использовал htmlentities/html_entity_decode, но по какой-то причине он не работает с парсером. В обычном тесте он работает, но парсер всегда возвращает html-код без <> «символов.

0

RSS - это XML. У него очень специфичные правила кодирования HTML. Если вы его генерируете, я бы рекомендовал использовать xml библиотека написать узел, содержащий HTML, чтобы убедиться, что вы получаете право кодирования.

HTMLEncode будет выполнять только вылетающему необходимое для встраивания данных в HTML, правила XML являются более строгими.

+0

что бы вы порекомендовали? – 2008-09-22 03:57:32

+0

libxml свободно доступен, но есть PHP-модули, которые читают/записывают XML и библиотеки xml для большинства языков. – davenpcj 2008-09-23 14:58:32

0

Вместо того чтобы писать свой собственный канал RSS XML, рассмотреть возможность использования рамки синдикации Django от django.contrib.syndication:

https://docs.djangoproject.com/en/dev/ref/contrib/syndication/

Он также поддерживает корпуса, которые являются способом RSS для встраивания изображений или видео.

Для пользовательских тегов, есть также низкоуровневая API, который позволяет изменять XML: https://docs.djangoproject.com/en/dev/ref/contrib/syndication/#the-low-level-framework