我一直在研究一些RSS 刮板,它分析来自多个来源的数据。也就是说,所有这些源都有自己的实现对RSS的描述。
其中一种是使用CDATA标记来编写描述,例如,
<![CDATA[
<p align=justify><font face="verdana, arial, helvetica, sans-serif" size=1>
<font color=#004080></font>
SOME TEXT GOES HERE
</font></p>
]]>但是,如果我尝试使用SimplePie获取项描述,则会得到以下输出
<div><p align="justify"></p></div>我正在使用这个php脚本来完成所有这些
foreach($feed->get_Items() as $item)
{
$title = $item->get_title();
$description = $item->get_description();
//some other stuff
}现在最棒的是
提要上的标题也是这样的
<title>
<![CDATA[
Nice title
]]>
</title>还有..。很管用!
我怎样才能得到提要的描述?我几乎什么都试过了!
谢谢!
发布于 2012-07-20 15:39:32
描述()方法和内容()方法都对原始数据执行环卫操作,但是您可以使用标签()方法不受影响地提取它,如下所示:
$desc_tags = ($item->get_item_tags('', 'description')); // empty namespace is RSS2.0
if ($desc_tags) {
print $desc_tags[0]['data'];
}唯一的警告是,当get_content或get_description试图检测名称空间时,您必须将其提供给get_item_tags,您可以看到名称空间常量。如果您事先知道提要格式应该不会有问题,那么您可能需要做get_description所做的尝试和错误。
https://stackoverflow.com/questions/11581823
复制相似问题