Mengekstrak HTML Dalaman daripada Nod DOM dalam PHP
Pelaksanaan PHP DOM tidak secara asli menyediakan kaedah untuk mendapatkan semula HTML dalaman DOMNode yang diberikan . Untuk menangani perkara ini, pembangun telah mencipta penyelesaian menggunakan fungsi DOMinnerHTML().
Fungsi DOMinnerHTML
Fungsi DOMinnerHTML() mengambil DOMNode sebagai parameternya dan mengembalikan innerHTML sebagai rentetan. Ia berulang secara rekursif melalui nod anak DOMNode, membina innerHTML dengan mensiri setiap nod anak menggunakan $element->ownerDocument->saveHTML($child).
function DOMinnerHTML(DOMNode $element) { $innerHTML = ""; $children = $element->childNodes; foreach ($children as $child) { $innerHTML .= $element->ownerDocument->saveHTML($child); } return $innerHTML; }
Contoh Penggunaan
Untuk menggunakan fungsi DOMinnerHTML(), buat Objek DOMDocument, muatkan HTML anda ke dalamnya dan dapatkan DOMNodeList yang mengandungi nod yang anda inginkan. Kemudian, ulangi DOMNodeList dan panggil DOMinnerHTML() pada setiap nod untuk mengekstrak innerHTMLnya.
$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); }
Penyelesaian ini menyediakan penyelesaian yang boleh dipercayai untuk mendapatkan semula innerHTML DOMNodes dalam PHP, membolehkan pembangun mengakses dan mengubah suai kandungan elemen DOM tanpa menggunakan perpustakaan luaran.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekstrak HTML Dalaman daripada Nod DOM dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!