2012-08-29 78 views
1

是否有可能直接用xpath在括号内刮信息?或者我应该用正则表达式来过滤它吗?这是HTML的样子:Xpath:获得圆括号内的值吗?

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

随着下面的XPath表达式我能得到这个<span>内的一切:

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

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

回答

3

您可以使用substring-aftersubstring-before()之前提取的一切:

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

我忘了这些功能感谢召回:) –

+0

这看起来很有希望,但我真的不明白如何实现它。这应该替代我目前的表情吗? – user1333327

+0

是的,只需更换它 – BeniBela

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

通过这个查询,你会得到这个查询将被用于从跨度

抢文本有没有办法来筛选使用XPath的括号数据的时间跨度标签

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

您需要使用正则表达式或一些字符串操作