我想從使用xpath的以下html獲取「7天前」文本。
使用xpath //div[contains(@class,'fnt20')]
我能夠到達div內的文本,但我想要在跨度ie後得到確切的文本。只有文字「7天前」。
的HTML如下:無法使用XPath提取確切的文本
<div class="fnt20">
<span class="accessibilityOnly">Duration:</span>
7 days ago
</div>
誰能建議?
我想從使用xpath的以下html獲取「7天前」文本。
使用xpath //div[contains(@class,'fnt20')]
我能夠到達div內的文本,但我想要在跨度ie後得到確切的文本。只有文字「7天前」。
的HTML如下:無法使用XPath提取確切的文本
<div class="fnt20">
<span class="accessibilityOnly">Duration:</span>
7 days ago
</div>
誰能建議?
請儘量//div[contains(@class,'fnt20')]/text()[last()]
獲得的結果 '7 days ago
'
更新:不間斷電源!我看到這個問題沒有標記爲php
。我應該clearify我使用PHP
雖然這是一個有點脆弱下面的代碼將工作:
$html = <<<EOF
<div class="fnt20">
<span class="accessibilityOnly">Duration:</span>
7 days ago
</div>
EOF;
$doc = new DOMDocument();
$doc->loadHTML($html);
$selector = new DOMXPath($doc);
echo trim($selector->query('//div[@class="fnt20"]/text()')
->item(1)
->nodeValue);
注:trim()
的使用是不令人滿意的。但它的工作。我會研究如何避免這種情況,得到純 XPath的解決方案
得益於它完美的作品:) – Jeets
注意周圍有'7天ago' – hek2mgl
空格如果要截斷空間的使用正常化空間() –