[英]Reordering RSS feed using PHP
我需要过滤和重新排序RSS
feed。
使用PHP
,如何检测附件url=""
是否存在链接?
其中大多数将为空,但我想将带有此标签中链接的整个项目移到顶部。
这是我将使用的代码示例。 我猜我会使用isset
吗? 就像是:
if (isset($enclosure)){
HOW WOULD I SELECT THE PARENT ITEM? AND EVERYTHING IN IT? AND THEN MOVE IT TO THE TOP?
}
<item>
<title><![CDATA[Article title 1]]></title>
<link><![CDATA[http://www.articlelinkone.com]]></link>
<pubDate><![CDATA[Tue, 26 Feb 2013 15:45:00 EDT]]></pubDate>
<description><![CDATA[Article discription 1<br />Some HTML will exist]]></description>
<enclosure url="" type="image/jpeg"></enclosure>
<thumbnail url="" type="image/jpeg"></thumbnail>
<summary><![CDATA[Summary for article]]></summary>
<guid><![CDATA[Guide for article]]></guid>
<source url="http://www.article.com/"/>
</item>
<item>
<title><![CDATA[Article title 1]]></title>
<link><![CDATA[http://www.articlelinkone.com]]></link>
<pubDate><![CDATA[Tue, 26 Feb 2013 15:45:00 EDT]]></pubDate>
<description><![CDATA[Article discription 1<br />Some HTML will exist]]></description>
<enclosure url="" type="image/jpeg"></enclosure>
<thumbnail url="" type="image/jpeg"></thumbnail>
<summary><![CDATA[Summary for article]]></summary>
<guid><![CDATA[Guide for article]]></guid>
<source url="http://www.article.com/"/>
</item>
<item>
<title><![CDATA[Article title 1]]></title>
<link><![CDATA[http://www.articlelinkone.com]]></link>
<pubDate><![CDATA[Tue, 26 Feb 2013 15:45:00 EDT]]></pubDate>
<description><![CDATA[Article discription 1<br />Some HTML will exist]]></description>
<enclosure url="http://articleone.com/image1.jpg" type="image/jpeg"></enclosure>
<thumbnail url="http://articleone.com/thumb/image1.jpg" type="image/jpeg"></thumbnail>
<summary><![CDATA[Summary for article]]></summary>
<guid><![CDATA[Guide for article]]></guid>
<source url="http://www.article.com/"/>
</item>
<item>
<title><![CDATA[Article title 1]]></title>
<link><![CDATA[http://www.articlelinkone.com]]></link>
<pubDate><![CDATA[Tue, 26 Feb 2013 15:45:00 EDT]]></pubDate>
<description><![CDATA[Article discription 1<br />Some HTML will exist]]></description>
<enclosure url="" type="image/jpeg"></enclosure>
<thumbnail url="" type="image/jpeg"></thumbnail>
<summary><![CDATA[Summary for article]]></summary>
<guid><![CDATA[Guide for article]]></guid>
<source url="http://www.article.com/"/>
</item>
您可以通过以下方法使用SimpleXML检查机柜URL是否不为空:
<?php
$xml = new new SimpleXMLElement($xml_content)
foreach( $xml->item AS $item ) {
if( !empty( $item->enclosure['url'] ))
// Do whatever you want
}
根据您要执行的操作,可以将$item
放入新数组中,构建新的XML文件,等等。
您研究过SimpleXML吗? 您将可以使用以下方法轻松地反转xml对象中的项目:
$str = file_get_contents($url);
$xml = simplexml_load_string($str);
$items = array_reverse($xml->xpath('item'));
我认为您真的应该看看php dom xml
DOM XML的简单示例:
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item)
{
print $item->nodeName . " = " . $item->nodeValue . "<br>";
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.