Rumah > pembangunan bahagian belakang > masalah PHP > Apa yang perlu dilakukan jika php htmlentities bercelaru

Apa yang perlu dilakukan jika php htmlentities bercelaru

藏色散人
Lepaskan: 2023-03-14 14:56:01
asal
1598 orang telah melayarinya

Penyelesaian kepada php htmlentities aksara bercelaru: 1. Gunakan "htmlentities($str,ENT_COMPAT,"GB2312""); 2. Output "htmlspecialchars($str)".

Apa yang perlu dilakukan jika php htmlentities bercelaru

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'
Salin selepas log masuk

Output penyemak imbas:

penggunaan html aksara khas

& (dan) ditukar kepada &
" (tanda petikan berganda) ditukar kepada "
< (kurang daripada) ditukar kepada <
> than) ditukar kepada> ;

Contoh

$str = "John & &#39;Adams&#39;"; 
 echo htmlspecialchars($str, ENT_COMPAT); 
 echo " 
 "; 
 echo htmlspecialchars($str, ENT_QUOTES); 
 echo " 
 "; 
 echo htmlspecialchars($str, ENT_NOQUOTES); 
 ?>
Salin selepas log masuk

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 & ' " < dan >

Kesan:

$str = &#39;<a href="demo.php?m=index&a=index&name=中文" rel="external nofollow" rel="external nofollow" >测试页面</a>&#39;;
Salin selepas log masuk
Salin selepas log masuk

echo 'htmlentities menentukan pengekodan GB2312: '.htmlentities($str,ENT_COMPAT,"GB2312").'';

echo 'htmlentities is not specified Encoding : '.htmlentities($str).'';

$str = &#39;<a href="demo.php?m=index&a=index&name=中文" rel="external nofollow" rel="external nofollow" >测试页面</a>&#39;;
Salin selepas log masuk
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan