如何使用xpath和php获取img src

时间:2017-03-16 02:14:50

标签: php xml xpath

当我使用以下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;

}

0 个答案:

没有答案