Amaran: DOMDocument::loadHTML(): Entiti Tidak Dijangka
Dalam skrip PHP, ralat berlaku semasa cuba menghuraikan HTML menggunakan DOMDocument ->loadHTML(). Ralat menyatakan:
Warning: DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity
Punca:
Kandungan HTML mengandungi entiti tidak lengkap yang tiada koma bertitik (;). Entiti ialah aksara khas yang diwakili menggunakan aksara ampersand (&) dan jujukan aksara atau kod angka. Contohnya, & mewakili watak ampersand. Jika tiada koma bertitik, penghurai mungkin tidak mengecam entiti dan menimbulkan ralat.
Penyelesaian:
Satu cara untuk menyelesaikan amaran ini ialah dengan mendayakan ralat dalaman pengendalian menggunakan libxml_use_internal_errors(). Fungsi ini menyekat amaran dan membenarkan skrip meneruskan pelaksanaan. Berikut ialah contoh:
<code class="php">// enable internal error handling libxml_use_internal_errors(true); // create a new DOMDocument $document = new DOMDocument('1.0', 'UTF-8'); // load HTML $document->loadHTML($html); // restore error level libxml_use_internal_errors(false);</code>
Dengan mendayakan pengendalian ralat dalaman, amaran tidak akan dipaparkan, tetapi sebarang ralat yang dihadapi semasa penghuraian akan disimpan secara dalaman dan boleh diambil menggunakan libxml_get_errors().
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Amaran \'DOMDocument::loadHTML(): Unexpected Entiti\' dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!