идентификатор доступа/атрибут GUID isPermaLink
Я использую SimplePie для анализа RSS-каналов на php. Для предварительной обработки результата SimplePie мне нужно знать, является ли ссылка постоянной или нет. Информация хранится в этом XML-элементе:
<guid isPermaLink="false">FileNr123</guid>
Если $items
является экземпляром объекта SimplePie, который обозначает один элемент RSS-канала, я могу использовать $item->get_permalink
для получения постоянной ссылки. К сожалению, это возвращает имя файла/идентификатор guid, даже если isPermaLink="false"
Итак, как я могу получить доступ к атрибуту isPermaLink
каждого элемента ленты для последующей обработки SimplePie вывод?
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
, даже ссылка работает правильно в течение длительного времени.