Использование RSS-канала в PHP - PullRequest
1 голос
/ 02 апреля 2010

Я пытаюсь использовать RSS-ленту из моего блога в разделе новостей на другом сайте. Кажется, все работает нормально, пока я не использую что-то вроде многоточия в своем блоге.

Ожидаемый результат:

One more time…less fail
Although this is no joking matter…

Фактический вывод:

One more time?less fail
Although this is no joking matter…

Проблема в том, что ? должно быть .... Код, который я использую, одинаков для первой строки (заголовок блога) и второй строки (содержимое блога), и этот код:

$a = utf8_decode($a);
print($a);

Где $a - строка из RSS-канала.

Может ли кто-нибудь указать в правильном направлении, почему этот код будет работать правильно для тела (вторая строка), а не для заголовка (первая строка)? Или предложить лучший способ сделать это?

Спасибо!

Обновление: Если вы хотите самостоятельно проверить RSS-канал, чтобы предоставить точный код, его можно найти по адресу: feed: //chimaera.fortunestreetglobal.com/ WordPress /? подача = rss2

Редактировать : Просто чтобы уточнить, я действительно ищу, как мне следует обрабатывать RSS, чтобы независимо от того, что было опубликовано в блоге, оно правильно отображалось на моем другом сайте.

1 Ответ

4 голосов
/ 02 апреля 2010

На самом деле это не ..., а ( горизонтальный эллипс ), закодированный как … в канале. В iso-8859-1 нет эквивалентного (одиночного) символа, и поэтому utf8_decode () заменил его на ?.

edit: содержимое тега description помечено как <![CDATA[ ... ]]>. Libxml решил не разрешать «сущность» в

<description><![CDATA[Although this is no joking matter&#8230;

но вернуть его как есть. Итак, вы отправили &#8230; клиенту / браузеру и там , оно было разрешено и показано как .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...