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

我有以下结构:</ p>

 &lt; div class  =“xGh”style =“background-image:url('name_file.jpg');”&gt;&lt; / div&gt; 
</ code> </ pre>

我需要输出: </ p>

name_file.jpg </ code> </ p>

我尝试使用回答,但对我不起作用:</ p>

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

echo $ img-&gt; item($ i) - &gt; nodeValue。“&lt; br /&gt;”;
</ code> </ pre>

查看错误:< / p>

测试 Ideone ,错误</ p>

我在sintaxe中有一些错误,我无法看到它是如何正确的... </ p>

sry my english </ sub> </ p>
</ div>

展开原文

原文

Ii have the follow structure:

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

I need that output:

name_file.jpg

I try use that answer, but dont work fo me :

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

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

Look the error:

Test Ideone with error

I have some error in that sintaxe i cant see how is correct...

sry my english

duanhe7471
duanhe7471 你可以帮忙找到那个错误,或者使用适用于你的代码进行1次测试吗?ideone.com/NoSAAE
接近 3 年之前 回复
duanli0162
duanli0162 好的:语法错误,第22行C:\xampp\htdocs\bd_all\sp\sp_c.php中的意外“回声”(T_ECHO)>>>echo$img->item($i)->nodeValue。“<br/>“;
接近 3 年之前 回复
douzhong8856
douzhong8856 substring-before(substring-after(//div[@class='xGh']/@style,“background-image:url('”),“')”)适合我。什么是错误消息?
接近 3 年之前 回复

1个回答



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

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

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

echo $ img; //它包含name_file.jpg
</ code> </ pre>

演示</ a > </ p>
</ div>

展开原文

原文

1) You lost quotes wrapping xpath - it's string.

2) with dom xpath, query returns set of nodes while to receive string result it's better to use evaluate

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

echo $img; // it contains name_file.jpg

demo

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐