Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menyimpan HTML DOMDocument Tanpa Teg Pembungkus yang Tidak Diingini?

Bagaimana untuk Menyimpan HTML DOMDocument Tanpa Teg Pembungkus yang Tidak Diingini?

DDD
DDDasal
2024-12-15 07:47:15793semak imbas

How to Save DOMDocument HTML Without Unwanted Wrapper Tags?

Bagaimana untuk Menyimpan HTML DOMDocument Tanpa Pembalut HTML?

Pernyataan Masalah:

Coretan kod di bawah cuba menyimpan kandungan HTML DOMDocument tanpa pembalut teg XML, HTML, badan dan p, tetapi ia menghadapi isu apabila kandungan mengandungi elemen peringkat blok.

$postarray['post_content'] = $d->saveXML($d->getElementsByTagName('p')->item(0));

Betulkan dengan Pilihan loadHTML:

Untuk menyelesaikan isu ini, gunakan kaedah loadHTML() dengan yang berikut pilihan:

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

Pilihan ini mengarahkan Libxml untuk menghuraikan HTML tanpa menambah unsur tersirat atau lalai doctype:

  • LIBXML_HTML_NOIMPLIED: Mematikan penambahan automatik elemen HTML/badan tersirat.
  • LIBXML_HTML_NODEFDTD: Mencegah jenis dokumen lalai ditambah apabila satu tidak dijumpai.

Hasil:

Menggunakan pilihan ini, saveHTML() kini akan mengeluarkan kandungan HTML tanpa pembalut yang tidak diperlukan.

Nota:

  • Libxml 2.6 diperlukan untuk LIBXML_HTML_NOIMPLIED.
  • Libxml 2.7.8 diperlukan untuk LIBXML_HTML_NODEFDTD.

Atas ialah kandungan terperinci Bagaimana untuk Menyimpan HTML DOMDocument Tanpa Teg Pembungkus yang Tidak Diingini?. 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