Как лучше всего передать код для встраивания HTML через RSS-канал в RSS-парсер в PHP?

StackOverflow https://stackoverflow.com/questions/113024

Вопрос

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

Это было полезно?

Решение

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

<сводка><![CDATA[Здесь данные]]>

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

Другие советы

htmlencode/htmldecode должно помочь.

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top