当我使用以下xpath公式时,我得到一个空变量:
foreach ($xpath4->evaluate('/rss/channel/item') as $rssItem) {
$item_image = $xpath4->evaluate('string(content:encoded/img/@src)', $rssItem);
}
这是xml部分 :
<content:encoded>
<![CDATA[<div id="attachment_195278" style="width: 4082px" class="wp-caption aligncenter"><img class="size-full wp-image-195278" src="http://website.com/files/2017/03/AP17067056441431.jpg"...
我如何获得img src?我尝试使用不同的语法/公式,但它们都返回一个空变量。我也无法在针对内容编码标记内的img src的每个循环中找到任何xpath示例。
编辑:我试图用PHP Simple HTML DOM Parser解析CDATA,但是,我一直收到错误,&#34; PHP致命错误:在非对象上调用成员函数find()。&# 34;所以我将CDATA视为字符串并使用我找到的函数解析它:
function getBetween($content,$start,$end){
$r = explode($start, $content);
if (isset($r[1])){
$r = explode($end, $r[1]);
return $r[0];
}
return '';
}
foreach ($xpath4->evaluate('/rss/channel/item') as $rssItem) {
$item_image = $xpath4->evaluate('string(content:encoded)', $rssItem);
$content = $item_image;
$start = 'src="';
$end = '" alt=';
$item_image = getBetween($content,$start,$end);
echo $item_image;
}