Menyimpan HTML daripada DOMDocument Tanpa Pembungkus HTML
Tugas yang ada ialah untuk mengekstrak kandungan HTML daripada objek DOMDocument tanpa ia dibalut dengan yang tidak perlu tag HTML. Kebimbangannya ialah apabila menggunakan saveXML, ia menambahkan pembalut teg XML, HTML, badan dan p.
Memandangkan PHP telah maju ke versi 5.4 dan Libxml kepada 2.6, penyelesaian telah muncul. Fungsi loadHTML kini menerima parameter $option yang mengawal cara kandungan dihuraikan.
Untuk menyelesaikan masalah ini, kami boleh memuatkan HTML dengan pilihan berikut:
$html->loadHTML($content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
Pilihan ini melumpuhkan penambahan automatik elemen html/badan tersirat dan menghalang doctype lalai daripada ditambahkan. Konfigurasi ini memastikan bahawa apabila saveHTML dipanggil, output tidak akan menyertakan pembungkus yang bermasalah.
LIBXML_HTML_NOIMPLIED: Turns off the automatic adding of implied html/body elements. LIBXML_HTML_NODEFDTD: Prevents a default doctype from being added when one is not found.
Untuk dokumentasi komprehensif tentang parameter Libxml, rujuk: [Libxml Parameters Documentation](https://www.php .net/manual/en/libxml.constants.php#libxmlconstants.constants.html)
Ia perlu diperhatikan bahawa walaupun dokumentasi loadHTML menyebut bahawa Libxml 2.6 diperlukan, LIBXML_HTML_NODEFDTD hanya tersedia dalam Libxml 2.7.8 dan LIBXML_HTML_NOIMPLIED tersedia dalam Libxml 2.7.7.
Atas ialah kandungan terperinci Bagaimana untuk Menyimpan HTML daripada DOMDocument Tanpa Teg Pembungkus yang Tidak Perlu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!