Xpath:在括号内获取值?

时间:2012-08-29 17:42:36

标签: xpath

是否可以使用xpath直接在括号内抓取信息?或者我应该稍后使用正则表达式过滤它?这就是HTML的样子:

<span itemprop="title" class="active">Product name (UN1QU3 C0D3)</span>

使用以下Xpath表达式,我可以获取此<span>中的所有内容:

$xpath->query('//*[@id="crumbtrail"]/div[5]/span');

是否可以通过调整查询直接获取UN1QU3 C0D3?或者我应该在以后使用正则表达式吗?

2 个答案:

答案 0 :(得分:3)

您可以使用substring-aftersubstring-before(之后和)之前提取所有内容:

substring-before(substring-after(//*[@id="crumbtrail"]/div[5]/span/text(), "("), ")")

答案 1 :(得分:1)

$xpath->query('//*[@id="crumbtrail"]/div[5]/span');

使用此查询,您将获得span标记

$xpath->query('//*[@id="crumbtrail"]/div[5]/span/text()');

此查询将用于从 span

中抓取文字

没有办法使用Xpath过滤括号数据,因为你需要使用正则表达式或一些字符串操作