當前位置: 首頁> 最新文章列表> PHP DOMDocument 類使用教程:高效處理HTML 和XML 文檔

PHP DOMDocument 類使用教程:高效處理HTML 和XML 文檔

gitbox 2025-06-28

PHP DOMDocument 類使用教程

在PHP 中,DOMDocument 類為開發者提供了強大的工具來處理HTML 和XML 文檔。通過它,我們能夠高效地解析、修改和生成文檔內容。本文將帶你詳細了解如何使用DOMDocument 類加載、操作和保存HTML 與XML 文檔。

創建DOMDocument 對象

使用DOMDocument 類時,首先需要實例化一個DOMDocument 對象,這樣才能操作文檔內容。

 
$dom = new DOMDocument();

實例化後,我們可以加載HTML 或XML 文檔進行後續操作。

加載HTML 或XML 文檔

DOMDocument 提供了多個方法來加載HTML 或XML 文檔,包括:

  • loadHTML() :從字符串加載HTML 文檔。
  • loadHTMLFile() :從文件加載HTML 文檔。
  • load() :根據文檔類型自動選擇加載方法。

以下是從字符串加載HTML 文檔的示例:

 
$html = "<html><body><p>Hello, World!</p></body></html>";
$dom->loadHTML($html);

你也可以從文件中加載HTML 文檔:

 
$dom->loadHTMLFile('example.html');

或者根據文件類型自動加載:

 
$dom->load('example.xml');

導航和操作文檔

加載文檔後,我們可以通過DOMDocument 提供的一些方法來操作文檔的內容。以下是一些常見的操作方法:

  • getElementsByTagName() :根據標籤名獲取元素。
  • createElement() :創建一個新的元素節點。
  • appendChild() :將節點添加為父節點的子節點。
  • removeChild() :從父節點中刪除子節點。

例如,獲取所有段落元素:

 
$paragraphs = $dom->getElementsByTagName('p');
foreach ($paragraphs as $paragraph) {
  echo $paragraph->nodeValue;
}

創建新的標題元素並將其添加到文檔中:

 
$newElement = $dom->createElement('h2', 'New Heading');
$parentElement->appendChild($newElement);

刪除一個節點:

 
$parentElement->removeChild($childElement);

生成HTML 或XML 文檔

完成對文檔的操作後,我們可以將修改後的文檔導出為HTML 或XML 格式。常用的方法有:

  • saveHTML() :將DOMDocument 對象轉換為HTML 字符串。
  • saveHTMLFile() :將DOMDocument 對象保存到HTML 文件。
  • save() :根據文檔類型自動選擇保存方法。

將文檔轉換為HTML 字符串:

 
$htmlString = $dom->saveHTML();

將文檔保存為HTML 文件:

 
$dom->saveHTMLFile('output.html');

或者保存為XML 文件:

 
$dom->save('output.xml');

總結

PHP 的DOMDocument 類提供了強大的功能來處理HTML 和XML 文檔。通過它,我們可以方便地加載、導航、修改以及生成文檔內容。無論是解析HTML 頁面還是操作XML 文件,DOMDocument 都是一個非常實用的工具。