1

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

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

使用以下 Xpath 表达式,我可以得到其中的所有内容<span>

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

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

4

2 回答 2

3

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

substring-before(substring-after(//*[@id="crumbtrail"]/div[5]/span/text(), "("), ")")
于 2012-08-29T18:17:42.417 回答
1
$xpath->query('//*[@id="crumbtrail"]/div[5]/span');

通过使用此查询,您将获得 span 标签

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

此查询将用于从span中获取文本

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

于 2012-08-29T18:14:33.033 回答