【发布时间】:2015-12-07 23:46:03
【问题描述】:
我正在解析 RSS 提要以获取原始数据并对其进行操作。
在 WordPress RSS 提要上。我可以通过遍历SimpleXMLElement 找到帖子的标题、链接、描述和发布。节点位于:
$title = $xml->channel->item[$i]->title;
$link = $xml->channel->item[$i]->link;
$description = $xml->channel->item[$i]->description;
$pubDate = $xml->channel->item[$i]->pubDate;
分别。
问题是 $description 里面有 2 个 <p>s。一个对我没用的;第二个。
那么如何将$description 分配给描述的第一个<p>?
简单的$xml->channel->item[$i]->description->p[0] 是行不通的。它会导致内部服务器错误。
我的整个代码如下所示:
<?php
$html = "";
$url = "http://sntsh.com/posts/feed/";
$xml = simplexml_load_file($url);
for($i = 0; $i < 10; $i++){
$title = $xml->channel->item[$i]->title;
$link = $xml->channel->item[$i]->link;
$description = $xml->channel->item[$i]->description->children();
$pubDate = $xml->channel->item[$i]->pubDate;
$html .= "<a href='$link'><h3>$title</h3></a>";
$html .= "$description";
$html .= "<br />$pubDate";
}
echo $html;
【问题讨论】:
-
您是否尝试过使用
description->children()将孩子作为数组获取? php.net/manual/en/simplexmlelement.children.php -
我读对了吗,您将 RSS 提要中的描述设置为变量(例如
$desc = $xml->channel->item[$i]->description)。现在,您需要获取该描述的子字符串吗? (具体是第二组<p>标签的内容) -
是的!我将用修改后的子字符串替换描述。