Php 计算RSS源中的项目标记(不知道标记名称)
我想从rss提要中获取所有使用过的标签(在$feed->channel->item中),而不知道实际的标签名。是的,也许这听起来很奇怪,让我解释一下 示例Php 计算RSS源中的项目标记(不知道标记名称),php,xml,rss,simplexml,Php,Xml,Rss,Simplexml,我想从rss提要中获取所有使用过的标签(在$feed->channel->item中),而不知道实际的标签名。是的,也许这听起来很奇怪,让我解释一下 示例 <item> <title>Inademen van bloem kan astma veroorzaken</title> <link>http://www.nu.nl/gezondheid/3872032/inademen-van-bloem-kan-astma-veroor
<item>
<title>Inademen van bloem kan astma veroorzaken</title>
<link>http://www.nu.nl/gezondheid/3872032/inademen-van-bloem-kan-astma-veroorzaken.html</link>
<description>Het keer op keer inademen van het fijne stof dat afkomstig is van het bakmeel bloem, kan astma veroorzaken. </description>
</item>
<item>
<title>Inademen van bloem kan astma veroorzaken</title>
<link>http://www.nu.nl/gezondheid/3872032/inademen-van-bloem-kan-astma-veroorzaken.html</link>
<description>Het keer op keer inademen van het fijne stof dat afkomstig is van het bakmeel bloem, kan astma veroorzaken. </description>
<test>Testing!</pubDate>
</item>
伊纳德曼·范·布卢姆·卡斯玛·维鲁扎肯
http://www.nu.nl/gezondheid/3872032/inademen-van-bloem-kan-astma-veroorzaken.html
阿夫康斯蒂格的朋友是巴克梅尔·布卢姆(bakmeel bloem),这是一个非常好的例子。
伊纳德曼·范·布卢姆·卡斯玛·维鲁扎肯
http://www.nu.nl/gezondheid/3872032/inademen-van-bloem-kan-astma-veroorzaken.html
阿夫康斯蒂格的朋友是巴克梅尔·布卢姆(bakmeel bloem),这是一个非常好的例子。
测试!
我想要实现的(上述XML的示例脚本输出):
- 标签
使用了2次 - 标签
使用了2次 - 标签
使用了2次 - 标签
使用了1次
中使用了哪些标记的情况下计算它们
此时,我的脚本只是加载提要并循环/显示项目:
<?php
getFeed('http://www.nu.nl/feeds/rss/gezondheid.rss');
function getFeed($feedUrl) {
$feedUrl = file_get_contents($feedUrl);
$feedXml = new SimpleXmlElement($feedUrl);
$itemTags = array();
echo "<ul>";
foreach($feedXml->channel->item as $item) {
echo "<li><a href='$item->link'>" . $item->title . "</a></li>";
}
echo "</ul>";
}
channel->item as$item){
回声“”;
}
回声“”;
}
您可以使用->getName
方法获取节点的名称。将它们全部放入一个数组中,然后使用array\u count\u values()
例如:
$url = 'http://www.nu.nl/feeds/rss/gezondheid.rss';
$xml = simplexml_load_file($url);
$tags = array();
foreach($xml->channel->item as $item) {
$children = $item->children(); // get all children of each item tag
foreach ($children as $node) {
$tags[] = $node->getName(); // get the node name of each children
}
}
$count = array_count_values($tags); // count the values
echo '<pre>';
print_r($count);
您的url无法访问(有时)您是指RSS url(nu.nl)吗?它应该是有效的。然而,这对我的问题并不重要,任何RSS URL都应该这样做。当我测试时,有时它会关闭,无论如何,你可以在下面查看我的答案。这很好,正是我要找的,而且很容易理解。
Array
(
[title] => 10
[link] => 10
[guid] => 10
[description] => 10
[pubDate] => 10
[category] => 10
[enclosure] => 10
[copyrightPhoto] => 10
[related] => 6
)