<![CDATA in SimplePie

2019-09-29 11:28发布

我一直对一些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>

而且......它的作品!

我怎样才能进的描述? 我已经试过几乎所有的东西!

谢谢!

Answer 1:

该get_description()和get_content()方法都做卫生上的原始数据,但你可以使用get_item_tags()方法来提取它不动,就像这样:

$desc_tags = ($item->get_item_tags('', 'description')); // empty namespace is RSS2.0
if ($desc_tags) {
    print $desc_tags[0]['data'];
}

唯一需要注意的是,而get_contentget_description将尝试检测命名空间,则必须将其提供给get_item_tags ,你可以看到这里的命名空间的常量 。 如果你知道提要格式事先不应该是一个问题,否则你可能需要做的试验和错误的get_description做。



文章来源: