说明有效,但URL不起作用,不显示任何内容。我想显示链接,例如:
<enclosure url="http://example.com/file.mp3" length="123456789" type="audio/mpeg">
我的代码是:
<?php
$rss = new DOMDocument();
$rss->load('feedlink example');
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
$item = array (
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'url' => $node->getElementsByTagName('enclosure url')->item(0)->nodeValue,
);
array_push($feed, $item);
}
$limit = 1;
for($x=0;$x<$limit;$x++) {
$description = $feed[$x]['desc'];
$url = $feed[$x]['enclosure url'];
echo '<div class="descricao">'.$description.'</div>'; //it works
echo $url; //it does not work , nothing is displayed
}
?>
答案 0 :(得分:0)
问题在于您提供了属性的正确名称。
对于这样的标记
<enclosure url="http://example.com/file.mp3" length="123456789" type="audio/mpeg">
enclosure
是标记(元素名称),而url
,length
和type
是属性。
名称为enclosure url
的节点不存在。您可以通过调用$node->getElementsByTagName('enclosure')
来获取包含getAttribute('url')
元素和url值的元素。
对于方法的文档:http://php.net/manual/en/domelement.getattribute.php