1
我想獲得文本節點的包裝標籤。鑑於這樣的任意HTMLPHP DOM:如何獲得包含文本節點屬性的包裝標籤?
<html><body>
<p>salalala</p>
<ul><li>hehehe</li></ul>
<div class="main">
<div class="text">
<span style="cufon whatever blablabla">
Capture this text 1
</span>
</div>
</div>
<div class="main">
<div class="text">
text 2
</div>
</div>
</body>
</html>
我想獲得包裝標籤爲「捕獲這個文本1」是
<div class="main">
<div class="text">
<span style="cufon whatever blablabla">
這只是爲了演示,他們可以是任何東西,但給予了文字匹配,我如何檢索包裝標籤?
我一直在考慮使用PHP DOM,並通過樹中找到textnode,並從中恢復工作。我不確定如何提取包裝標籤。
$doc = new DOMDocument();
$doc->loadHTML($html);
//print_r($doc->childNodes);
print_children($doc);
function print_children($object){
if ($object->nodeName == "#text" AND strpos("Capture this text 1",trim($object->data)) !== false) {
print "Parent: ";
print_r($object->parentNode);
}
foreach($object->childNodes as $child) {
print_r($child);
print_children($child);
}
}