我想从这个背景图片样式属性中仅选择网址,这是否可以使用XPATH?
<a href="http://www.test.com" style="background-image: url('http://www.test.com/hello.jpg');">test</a>
我喜欢
$url = $xpath->query('//a//@style');
答案 0 :(得分:1)
使用强>:
substring-before(substring-after(@style, "'"),
"'"
)
基于XSLT的验证:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/*">
"<xsl:value-of select=
"substring-before(substring-after(@style, "'"),
"'"
)
"/>"
</xsl:template>
</xsl:stylesheet>
将此转换应用于提供的XML文档:
<a href="http://www.test.com" style=
"background-image: url('http://www.test.com/hello.jpg');">test</a>
产生了想要的正确结果:
"http://www.test.com/hello.jpg"
答案 1 :(得分:0)
<?php
$arrHolder = array();
foreach ($xpath->query('//*[@style]') as $node) {
if (strpos($node->getAttribute('style'), 'background:url') !== FALSE) {
array_push($arrHolder, $node->tagName . " = " . $node->getAttribute('style'));
}
}
echo '<pre>';
print_r($arrHolder);
echo '</pre>';
?>
&#13;