Rumah > Artikel > pembangunan bahagian belakang > Apa yang perlu dilakukan jika php htmlentities bercelaru
Penyelesaian kepada php htmlentities aksara bercelaru: 1. Gunakan "htmlentities($str,ENT_COMPAT,"GB2312""); 2. Output "htmlspecialchars($str)".
Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer Dell G3.
Apakah yang perlu saya lakukan jika php htmlentities bercelaru?
Htmlentities dalam php menyebabkan masalah bahawa bahasa Cina tidak boleh dicari
Htmlspecialchars dalam php menukar aksara khas ke dalam format HTML, manakala htmlentities menukar semua aksara kepada aksara HTML Dirangkai bersama, izinkan saya secara ringkas memperkenalkan mereka secara berasingan.
penggunaan entiti html
$str = "John & 'Adams'"; echo htmlentities($str, ENT_COMPAT); echo " "; echo htmlentities($str, ENT_QUOTES); echo " "; echo htmlentities($str, ENT_NOQUOTES); ?> John & 'Adams' John & 'Adams' John & 'Adams'
Output penyemak imbas:
penggunaan html aksara khas
& (dan) ditukar kepada &
" (tanda petikan berganda) ditukar kepada "
5edabe5a9e17378937b8f73ec7ce35ac than) ditukar kepada> ;
Contoh
$str = "John & 'Adams'"; echo htmlspecialchars($str, ENT_COMPAT); echo " "; echo htmlspecialchars($str, ENT_QUOTES); echo " "; echo htmlspecialchars($str, ENT_NOQUOTES); ?>
Perbezaan mereka
Fungsi kedua-dua fungsi ini adalah untuk tukar aksara kepada pengekodan Aksara HTML, khususnya rentetan url dan kod. Elakkan tag aksara daripada dilaksanakan oleh penyemak imbas. Tiada perbezaan apabila menggunakan bahasa Cina, tetapi htmlentities akan memformat aksara Cina supaya input bahasa Cina bercelaru
htmlentities menukar semua teg html, htmlspecialchars hanya memformat simbol khas & ' " f8b01fb6174b8bf0b40bad2581d4f01e
Kesan:
$str = '<a href="demo.php?m=index&a=index&name=中文" rel="external nofollow" rel="external nofollow" >测试页面</a>';
echo 'htmlentities menentukan pengekodan GB2312: '.htmlentities($str,ENT_COMPAT,"GB2312").'';
echo 'htmlentities is not specified Encoding : '.htmlentities($str).'';
$str = '<a href="demo.php?m=index&a=index&name=中文" rel="external nofollow" rel="external nofollow" >测试页面</a>';
echo htmlspecialchars($str).'';
Pembelajaran yang disyorkan: "Tutorial video PHP 》
Atas ialah kandungan terperinci Apa yang perlu dilakukan jika php htmlentities bercelaru. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!