PHP 中的DOM 操作:檢索內部和外部HTML
在PHP 的DOM 實作中,檢索DOM 節點的內部或外部HTML是不簡單。與其他開發環境不同,PHP 缺乏專為此目的設計的原生函數。
解決方案
為了克服這個問題,開發人員使用 DOM 遍歷和字串操作設計了可靠的方法。這是一個準確提取內部和外部HTML 的解決方案:
function DOMinnerHTML(DOMNode $element) { $innerHTML = ""; $children = $element->childNodes; foreach ($children as $child) { $innerHTML .= $element->ownerDocument->saveHTML($child); } return $innerHTML; } // Usage for outerHTML: // Recursively call DOMinnerHTML with parent as a parameter
示例:
$dom= new DOMDocument(); $dom->preserveWhiteSpace = false; $dom->formatOutput = true; $dom->load($html_string); $domTables = $dom->getElementsByTagName("table"); // Iterate over DOMNodeList (Implements Traversable) foreach ($domTables as $table) { echo DOMinnerHTML($table); }
注意:
此解決方案利用saveHTML() 方法進行節點遍歷和HTML 擷取。它迭代指定元素的子節點,遞歸地處理它們以建立生成的內部或外部 HTML。
以上是如何在 PHP 中從 DOM 節點檢索內部和外部 HTML?的詳細內容。更多資訊請關注PHP中文網其他相關文章!