File_get_contents() Memecahkan Pemformatan XML dalam HTML
Apabila menggunakan file_get_contents() untuk mendapatkan semula kandungan daripada dokumen HTML jauh, beberapa aksara khas mungkin tidak berfungsi. Ini berlaku terutamanya dengan kandungan yang dikodkan dalam UTF-8 yang melibatkan aksara seperti Ľ, Š, Č, Ť, Ž dan lain-lain. Daripada memaparkan dengan betul, aksara ini memaparkan versi yang rosak seperti Å, ¾, ¤ dan simbol karut yang serupa.
Penyelesaian:
Untuk menyelesaikan isu ini, tukar mendapatkan semula kandungan kepada entiti HTML menggunakan fungsi mb_convert_encoding(). Berikut ialah kod yang diubah suai:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sk" lang="sk"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Language" content="sk" /> <title>Test</title> </head> <body> <?php $html = file_get_contents('http://example.com'); $convertedHtml = mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8"); echo $convertedHtml; ?> </body> </html>
Dengan menukar aksara UTF-8 kepada entiti HTML yang sepadan, kami memastikan pemaparan aksara khas yang betul dalam dokumen HTML yang dimuatkan.
Atas ialah kandungan terperinci Mengapa file_get_contents() Merosakkan Aksara Khas dalam HTML Jauh dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!