首頁 > 後端開發 > php教程 > 如何在 PHP 中從 DOM 節點擷取內部 HTML?

如何在 PHP 中從 DOM 節點擷取內部 HTML?

Barbara Streisand
發布: 2024-12-18 13:56:11
原創
885 人瀏覽過

How Can I Extract Inner HTML from DOM Nodes in PHP?

在PHP 中從DOM 節點提取內部HTML

PHP DOM 實作本身並沒有提供用於檢索給定DOMNode 的innerHTML 的方法。為了解決這個問題,開發人員使用 DOMinnerHTML() 函數設計了一個解決方法。

DOMinnerHTML 函數

DOMinnerHTML() 函數採用 DOMNode 作為其參數並傳回innerHTML 作為字串。它遞歸地迭代 DOMNode 的子節點,透過使用 $element->ownerDocument->saveHTML($child) 序列化每個子節點來建構innerHTML。

function DOMinnerHTML(DOMNode $element) 
{ 
    $innerHTML = ""; 
    $children  = $element->childNodes;

    foreach ($children as $child) 
    { 
        $innerHTML .= $element->ownerDocument->saveHTML($child);
    }

    return $innerHTML; 
} 
登入後複製

範例用法

要使用DOMinnerHTML() 函數,請建立一個新的DOMDocument對象,將HTML 載入到其中,然後擷取包含所需節點的DOMNodeList。然後,迭代 DOMNodeList 並在每個節點上呼叫 DOMinnerHTML() 來提取其內部 HTML。

$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); 
} 
登入後複製

此解決方案為在 PHP 中檢索 DOMNodes 的內部 HTML 提供了可靠的解決方案,使開發人員能夠存取和修改無需使用外部函式庫即可取得 DOM 元素的內容。

以上是如何在 PHP 中從 DOM 節點擷取內部 HTML?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板