首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><![ SimplePie中的CDATA

<![ SimplePie中的CDATA
EN

Stack Overflow用户
提问于 2012-07-20 14:56:57
回答 1查看 1.2K关注 0票数 1

我一直在研究一些RSS 刮板,它分析来自多个来源的数据。也就是说,所有这些源都有自己的实现对RSS的描述。

其中一种是使用CDATA标记来编写描述,例如,

代码语言:javascript
复制
<![CDATA[
<p align=justify><font face="verdana, arial, helvetica, sans-serif" size=1>
<font color=#004080></font>
SOME TEXT GOES HERE 
 </font></p>
]]>

但是,如果我尝试使用SimplePie获取项描述,则会得到以下输出

代码语言:javascript
复制
<div><p align="justify"></p></div>

我正在使用这个php脚本来完成所有这些

代码语言:javascript
复制
 foreach($feed->get_Items() as $item)
 {
        
        $title = $item->get_title();
         $description = $item->get_description();
        //some other stuff
 }

现在最棒的是

提要上的标题也是这样的

代码语言:javascript
复制
<title>
  <![CDATA[ 
     Nice title
  ]]>
</title>

还有..。很管用!

我怎样才能得到提要的描述?我几乎什么都试过了!

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-20 15:39:32

描述()方法和内容()方法都对原始数据执行环卫操作,但是您可以使用标签()方法不受影响地提取它,如下所示:

代码语言:javascript
复制
$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所做的尝试和错误。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11581823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档