是否可以使用xpath直接在括号内抓取信息?或者我应该稍后使用正则表达式过滤它?这就是HTML的样子:
<span itemprop="title" class="active">Product name (UN1QU3 C0D3)</span>
使用以下Xpath表达式,我可以获取此<span>
中的所有内容:
$xpath->query('//*[@id="crumbtrail"]/div[5]/span');
是否可以通过调整查询直接获取UN1QU3 C0D3
?或者我应该在以后使用正则表达式吗?
答案 0 :(得分:3)
您可以使用substring-after
和substring-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过滤括号数据,因为你需要使用正则表达式或一些字符串操作