Php <;![CDATA在SimplePie中

Php <;![CDATA在SimplePie中,php,cdata,simplepie,Php,Cdata,Simplepie,我一直在开发一些RSSscraper,它解析来自多个源的数据。也就是说,所有这些源都有自己的RSS描述实现 其中一个特别的例子是,使用CDATA标记来编写类似的描述 <![CDATA[ <p align=justify><font face="verdana, arial, helvetica, sans-serif" size=1> <font color=#004080></font> SOME TEXT GOES H

我一直在开发一些RSSscraper,它解析来自多个源的数据。也就是说,所有这些源都有自己的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>
]]>
现在是好的部分

提要上的标题也是这样的

<title>
  <![CDATA[ 
     Nice title
  ]]>
</title>

而且…它是有效的

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

谢谢!

和方法都对原始数据有效,但您可以使用该方法提取原始数据,如下所示:

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

唯一需要注意的是,当
get\u content
get\u description
尝试检测名称空间时,您必须将其提供给
get\u item\u标记
,您可以看到。如果您事先知道提要格式,这不应该是一个问题,否则您可能需要进行
get\u description在
do.

上,你可能会想。如果你想这样做,请链接/附加原始提要,以便更好地复制。所以,我偶然发现了一个bug?!该死:(我会提交一份报告。如果它没有按预期工作,我会说它是一个bug(或缺陷).从你发布的内容来看,我想说它至少应该有文本,但它是空的。错误是正常的:我们共享代码,我们共享错误。需要你的帮助!请编写一份不错的错误报告,说明如何复制和提供所有数据(不仅是URL,而且是真实数据)。谢谢!当它真的破坏东西的时候,为什么叫它环卫?谢谢!!!由于它的“精致”性质,我实际上正在将这个提要与其他提要分开分析。因此,由于这个提要将保持RSS2(我想是这样的),这段代码只会干扰它,我觉得这个解决方案是可以接受的!非常感谢!!!我不确定,但您可能运行的版本与最新版本不同,我已将示例描述转储到一个文件中,结果是

一些文本出现在这里(省略了一堆空格)字体标记仍然被杀死。它使用PHP DOM扩展,所以可能是PHP版本的差异。奇怪的是…我使用的是最新版本,从网站下载。即使使用PHPDOM,结果也是一样的…@hakre抱歉,这是一个bug!其目的是删除可能破坏页面的危险标记。

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