从包含<;的rss中提取数据;![CDATA[]]>;使用PHP

从包含<;的rss中提取数据;![CDATA[]]>;使用PHP,php,xml,rss,cdata,Php,Xml,Rss,Cdata,这是我从rss提要中获得的描述项: <description><![CDATA[ <img src="http://images.24ur.com/media/images/210/Nov2012/61090877.jpg" alt="24ur.com"/> Na sedeĹžu Evropske nogometne zveze v Nyonu so izĹžrebali pare osmine finala Lige prvakov

这是我从rss提要中获得的描述项:

        <description><![CDATA[ <img src="http://images.24ur.com/media/images/210/Nov2012/61090877.jpg" alt="24ur.com"/>
        Na sedeĹžu Evropske nogometne zveze v Nyonu so izĹžrebali pare osmine finala Lige prvakov. BrĹžkone bo najbolj vroÄe v Madridu, kjer se bo zasedba Reala uvodoma udarila z Manchester Unitedom, povratni dvoboj pa bosta velikana evropskega nogometa odigrala v Manchestru.]]></description>

我在浏览器中看到img,但无法访问脚本中的src。你知道怎么做吗?

你不能以XML的形式访问CDATA部分中的XML。
您需要使用正则表达式对其进行解析,以获取
src

或者将其作为另一个XML打开

测试和工作:

$h = '<img src="http://images.24ur.com/media/images/210/Nov2012/61090877.jpg" alt="24ur.com"/>';

preg_match("/http:\/\/(.*?)[^\"']+/", $h, $matches);
var_dump($matches[0]);

描述包含单个文本节点(其数据是一段HTML)。它不包含任何XML元素

如果要从HTML中提取数据,需要首先通过HTML解析器传递文本节点的数据

$h = '<img src="http://images.24ur.com/media/images/210/Nov2012/61090877.jpg" alt="24ur.com"/>';

preg_match("/http:\/\/(.*?)[^\"']+/", $h, $matches);
var_dump($matches[0]);
string(60) "http://images.24ur.com/media/images/210/Nov2012/61090877.jpg"