繁体   English   中英

PHP Xpath-如何获取特定值?

[英]Php Xpath - How to get a specific value?

如何使用php xpath从字符串波纹管中仅获取货币值?

<div class="detalheDir2">
<div class="preco">
R$
<script type="text/javascript">document.write(aZ427014992694557())</script>
24,90
</div>
</div>

我只想得到24,90

我正在使用查询

$xpath->query("descendant::div[@class='detalheDir2']/div[@class='preco']/text()", $child);

如果所需的文本节点始终处于此位置,则可以使用如下索引:

//div[@class='detalheDir2']/div[@class='preco']/text()[2]

如果它总是在<script>标记之后,则可以编写:

//div[@class='detalheDir2']/div[@class='preco']/script/following-sibling::text()

如果它始终是最后一个文本节点,则可以编写

//div[@class='detalheDir2']/div[@class='preco']/text()[last()]

也许,它包含了这样的事实,可能是关键:

//div[@class='detalheDir2']/div[@class='preco']/text()[contains(., ',')]

所有这些对于您的示例都是有效的,但是输入中的差异将导致这些中断。

如果您仅知道它在文本节点之间的某个地方,并且只有格式将其与其他节点分开,则最好选择所有文本节点并对其进行遍历,并与textContent上的正则表达式匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM