Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menyimpan HTML daripada DOMDocument Tanpa Teg Pembalut?

Bagaimanakah Saya Boleh Menyimpan HTML daripada DOMDocument Tanpa Teg Pembalut?

Susan Sarandon
Susan Sarandonasal
2024-12-15 05:34:13637semak imbas

How Can I Save HTML from DOMDocument Without the Wrapper Tags?

Menyimpan HTML DOMDocument Tanpa Pembalut HTML

Soalan ini menangani isu biasa apabila bekerja dengan DOMDocument: mengekstrak kandungan HTML tanpa melampirkan teg HTML, kandungan dan perenggan. Masalah timbul apabila saveXML() menambahkan pembalut ini pada output. Walaupun pembaikan yang dicadangkan menggunakan saveXML() pada elemen perenggan pertama hanya berfungsi untuk kandungan tanpa elemen peringkat blok, artikel ini meneroka penyelesaian yang komprehensif.

Kunci untuk menyelesaikan isu ini terletak pada pengenalan $option parameter dalam loadHTML() dalam PHP 5.4 dan Libxml 2.6. Dengan menggunakan pilihan berikut:

$html->loadHTML($content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);

kami boleh mengarahkan Libxml untuk tidak menambah HTML tersirat dan elemen badan atau doctype lalai secara automatik. Akibatnya, saveHTML() akan mengeluarkan kandungan tanpa pembalut ini.

LIBXML_HTML_NOIMPLIED mematikan penambahan automatik elemen HTML/badan tersirat, manakala LIBXML_HTML_NODEFDTD menghalang doctype lalai daripada ditambahkan jika satu tidak ditemui dalam input.

Dengan menggabungkan pilihan ini, kami boleh mengekstrak HTML yang dikehendaki dengan berkesan kandungan tanpa pembalut yang tidak diingini, memastikan perwakilan kandungan DOMDocument yang lebih tepat.

Adalah penting untuk ambil perhatian bahawa loadHTML() memerlukan Libxml 2.6, manakala LIBXML_HTML_NODEFDTD hanya tersedia dalam Libxml 2.7.8 dan LIBXML_HTML_NOIMPLIED tersedia dalam Libxml 2.7.7. Untuk pemahaman yang menyeluruh tentang parameter Libxml, rujuk dokumentasi rasmi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan HTML daripada DOMDocument Tanpa Teg Pembalut?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn