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

Apa yang perlu dilakukan jika php htmlentities bercelaru

藏色散人
藏色散人asal
2021-12-21 10:21:541542semak imbas

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'

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 = &#39;<a href="demo.php?m=index&a=index&name=中文" rel="external nofollow" rel="external nofollow" >测试页面</a>&#39;;

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;;

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!

Kenyataan:
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