我要尋找此功能:PHP的DOMDocument/XPath的:獲取HTML文本和環繞標籤
鑑於這是HTML頁:
<body>
<h1>Hello,
<b>world!</b>
</h1>
</body>
我想只包含一個數組DISTINCT文本元素 (無重複)和包圍文本元素標籤的數組:
結果上述「HTML」將是一個陣列,其看起來像這樣:
array =>
"Hello," surrounded by => "h1" and "body"
"world!" surrounded by => "b", "h1" and "body"
我alreday做到這一點:
$res=$xpath->query("//body//*/text()");
使我有不同的文本內容,但省略了HTML標籤。
當我只是這樣做:
$res=$xpath->query("//body//*");
我得到重複的文字,每一個標籤星座:「世界」例如爲:會出現3次, 一次爲「身體」,一次爲「h1」,一次爲「b」,但我似乎無法獲得文本實際重複的信息。只是檢查重複的文本是 不夠充分,因爲重複的文本有時只是以前的文本的子串,或者網站 可能包含真正的重複文本,然後將丟棄這是錯誤的。
我該如何解決這個問題?
非常感謝!
托馬斯
我認爲你需要爲這個XQuery的。無論如何,在HTML上使用XML技術並不好。該html可能不是格式良好的,因此,你會得到解析錯誤。 –
@AurelioDeRosa DOM可以解析破損的HTML – Gordon
您還沒有接受答案。你能否澄清你在回答中尋找什麼,以及爲什麼給出的答案不能令你滿意。 – Gordon