xPath help>使用alt ='我的关键字'找到img

时间:2010-10-30 13:22:51

标签: xpath domdocument

如何更改此xpath以查找内容是否包含带有包含关键字词组的alt的img标记?

$ xPath->评估( '计数(/ HTML /体//'.$标签。'[含有(“” $关键字。” ')。])');

2 个答案:

答案 0 :(得分:4)

使用

boolean(//img[contains(@alt, 'yourKeywordHere')])

查找(true()false())XML文档中是否有img个元素alt属性包含'yourKeywordHere'

使用

boolean(//yourTag//img[contains(@alt, 'yourKeywordHere')])

查找名为yourTag的文档中是否有一个元素,其img属性包含alt的后代'yourKeywordHere'

答案 1 :(得分:1)

我并不确切地知道你正在寻找什么元素,但​​这里是一个示例,它返回所有元素h1,其中包含至少一个带有your_keyword的图像在alt:

//h1[.//img[contains(@alt, 'your_keyword')]]

如果区分大小写,您还应该处理。您可以使用此xpath但要小心,某些xpath计算器不支持lower-case函数。

//h1[.//img[contains(lower-case(@alt), lower-case('your_keyword'))]]

以下是示例:

//h1[.//img[contains(@alt, 'key ')]]

<html>
    <h1> <!-- found -->
        <img alt='here is my key' />
    </h1>
    <h1><!-- not found -->
        <img alt='here is not' />
    </h1>
    <h1> <!-- found -->
        <h2>
            <img alt='the key is also here' />
        </h2>
    </h1>
    <h1></h1> <!-- not found -->

</html>