这是我从rss feed获得的描述项目:
<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>
它包含此CDATA标记,无法使用xml解析器进行解析。如果我
echo $test->description;
我在浏览器中看到了img,但我无法访问脚本中的src。知道该怎么做吗?
答案 0 :(得分:1)
您无法以XML格式访问CDATA部分中的XML
您需要使用正则表达式对其进行解析以获取src
或者将其作为另一个XML打开。
经测试&amp;工作原理:
$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"
答案 1 :(得分:1)
描述包含单个文本节点(其数据是一段HTML)。它不包含任何XML元素。
如果要从HTML中提取数据,则需要先通过HTML解析器传递文本节点的数据。