идентификатор доступа/атрибут GUID isPermaLink


Я использую SimplePie для анализа RSS-каналов на php. Для предварительной обработки результата SimplePie мне нужно знать, является ли ссылка постоянной или нет. Информация хранится в этом XML-элементе:

<guid isPermaLink="false">FileNr123</guid>

Если $items является экземпляром объекта SimplePie, который обозначает один элемент RSS-канала, я могу использовать $item->get_permalink для получения постоянной ссылки. К сожалению, это возвращает имя файла/идентификатор guid, даже если isPermaLink="false"

Итак, как я могу получить доступ к атрибуту isPermaLink каждого элемента ленты для последующей обработки SimplePie вывод?

Author: Revent, 2014-05-14

1 answers

Опция On заключается в использовании метода get_item_tags для обхода массива и поиска первого isPermaLink:

$guid = $item->get_item_tags('','guid');
$arrIt = new RecursiveIteratorIterator(new RecursiveArrayIterator($guid[0]));
foreach ($arrIt as $sub) {
   $subArray = $arrIt->getSubIterator();
   if (isset($subArray['isPermaLink']) && $subArray['isPermaLink'] == "false") 
       {$isPermalink = false ;break;}
}

Это работает, но это не удовлетворяет, потому что некоторые поставщики RSS устанавливают isPermaLink в false, даже ссылка работает правильно в течение длительного времени.

 1
Author: The Bndr, 2014-05-27 08:41:37