Получить URL-адрес изображения из описания RSS-канала с помощью PHP - PullRequest
1 голос
/ 29 декабря 2011

Я хочу получить URL-адрес изображения (где оно хранится) из описания RSS-канала, поэтому я могу поместить этот URL-адрес в переменную.

Я знаю, что для получения ссылки насообщение RSS-канала, которое я должен использовать $feed->channel->item->link;, где $feed равно $feed=simplexml_load_file("link_of_the_feed";.

Но что, если я получу URL-адрес изображения сообщения, я должен использовать что-то вроде $feed->channel->item->image;?

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

Ответы [ 2 ]

1 голос
/ 29 декабря 2011

Вы на правильном пути!Но все зависит от формата, в котором настроен канал RSS.

Узел item на самом деле содержит целую кучу различных полей, из которых link - только одно.Посмотрите здесь для получения информации о других полях, которые содержит узел item.

Теперь, если RSS-канал указывает непосредственно на файл изображения, тогда вы можете просто использовать item->link.Скорее, однако, ссылка указывает на сообщение в блоге или что-то, в которое встроено изображение.В этом случае вы можете выполнить некоторую обработку на $feed->channel->item->description, чтобы найти то, что вам нужно.Узел description содержит экранированную сводку HTML поста, а затем оттуда вы можете просто использовать регулярное выражение 1014 *, чтобы найти источник изображения.Также помните: перед тем, как вы начнете использовать регулярные выражения, вам может понадобиться декодировать description с использованием htmlspecialchars_decode(), прежде чем вы начнете обрабатывать его с помощью регулярных выражений - по моему собственному опыту, описания часто форматируются с использованием экранированных специальных символов.

Я знаю, что это много информации, но как только вы начинаете, это действительно не так сложно, как кажется.Удачи!

1 голос
/ 29 декабря 2011

Если узел image находится на верхнем уровне узла item, тогда да. Если он глубже, чем узел item, вам придется пройти его соответствующим образом. Было бы полезно, если бы вы опубликовали свой XML.

РЕДАКТИРОВАТЬ : вы также можете проверить мой ответ здесь о том, как анализировать XML-файл с помощью PHP.

...