Mengurangkan Ralat DOMDocument LoadHTML: Menyelesaikan Tanda Sebut Harga Melampirkan
Apabila cuba memuatkan kandungan HTML ke dalam DOMDocument, anda mungkin menghadapi amaran dan membawa maut ralat yang berkaitan dengan tanda petikan penutup yang hilang dalam rujukan entiti. Untuk menyelesaikan masalah ini, mari kita teliti kod yang disediakan:
$html = file_get_contents("http://www.somesite.com/"); $dom = new DOMDocument(); $dom->loadHTML($html); echo $dom;
Kod ini cuba mengambil kandungan HTML daripada tapak web, memuatkannya ke dalam DOMDocument dan menggemakan dokumen yang terhasil. Walau bagaimanapun, ia memberikan amaran dan ralat maut berikut:
Warning: DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity, Catchable fatal error: Object of class DOMDocument could not be converted to string in test.php on line 10
Amaran menunjukkan bahawa kandungan HTML mengandungi rujukan entiti yang tidak mempunyai tanda petikan penutup yang betul. Untuk menyelesaikan masalah ini, kami boleh menggunakan langkah berikut:
<code class="php">// create new DOMDocument $document = new \DOMDocument('1.0', 'UTF-8'); // set error level $internalErrors = libxml_use_internal_errors(true);</code>
<code class="php">// load HTML $document->loadHTML($html); // Retrieve errors $errors = libxml_get_errors();</code>
<code class="php">// Restore error level libxml_use_internal_errors($internalErrors);</code>
Dengan melaksanakan langkah-langkah ini, kami boleh mengurangkan amaran dan ralat maut yang berkaitan dengan kehilangan tanda petikan penutup dalam rujukan entiti dengan berkesan. Ini memastikan bahawa DOMDocument boleh dimuatkan dan diproses dengan jayanya.
Atas ialah kandungan terperinci Mengapakah DOMDocument::loadHTML Membuang Ralat Mengenai Tanda Sebut Harga yang Hilang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!