我使用SimplePie解析php中的RSS feed。为了对SimplePie的结果进行预处理,我需要知道链接是否为永久链接。信息存储在以下XML元素中:
<guid isPermaLink="false">FileNr123</guid>
如果$items是SimplePie对象的一个​​实例,代表一个RSS feed项,那么我可以使用$item->get_permalink获取永久链接。不幸的是,即使isPermaLink="false",它也会返回fileName / guid

那么,如何访问每个提要项的isPermaLink属性来对SimplePie输出进行后处理?

最佳答案

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,即使该链接可以正常工作很长时间。

关于php - 访问ID/GUID属性isPermaLink,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23653210/

10-09 05:31