[英]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.