簡體   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