使用xpath从background-image样式属性中提取值

时间:2017-11-01 05:47:51

标签: php dom xpath

我有以下结构:

<div class="xGh" style="background-image: url('name_file.jpg');"></div>

我需要输出:

name_file.jpg

我尝试使用那个answer,但对我不起作用:

$img = $xpath->query(substring-before(substring-after(//div[@class='xGh']/@style, "background-image: url('"), "')"));    

echo $img->item($i)->nodeValue."<br/>";

查看错误:

错误地测试Ideone

我在sintaxe中有一些错误,我不知道这是怎么回事......

sry my english

1 个答案:

答案 0 :(得分:1)

1)你丢失了包装xpath - 它的字符串的引号。

2)使用dom xpath,查询返回节点集,而接收字符串结果最好使用evaluate

$img = $xpath->evaluate('substring-before(substring-after(//div[@class=\'xGh\']/@style, "background-image: url(\'"), "\')")');    

echo $img; // it contains name_file.jpg

demo