Fungsi PHP htmlspecialchars()
Contoh
Tukubah simbol yang ditakrifkan "<" (kecil) dan ">" (besar) kepada entiti HTML:
<?php $str = "Ini adalah teks <b>tebal</b> yang ada."; echo htmlspecialchars($str); ?>
Output HTML kod di atas seperti berikut (lihat kod sumber):
<!DOCTYPE html> <html> <body> Ini adalah teks <b>tebal</b> yang ada. </body> </html>
Output pemeriksaan kod di atas seperti ini:
Ini adalah teks <b>tebal</b> yang ada.
Definisi dan penggunaan
Fungsi htmlspecialchars() mengubah simbol yang ditakrifkan kepada entiti HTML.
Simbol yang ditakrifkan adalah:
- & (dan) menjadi &
- " (petanda kutip ganda) menjadi "
- ' (petanda kutip tunggal) menjadi '
- < (kecil) menjadi <
- > (besar) menjadi >
Pemberitahuan:Untuk mengubah entiti HTML yang khas kembali kepada aksara, gunakan htmlspecialchars_decode() Fungsi.
Sintaksis
htmlspecialchars(string,flags,character-set,double_encode)
Parameter | Deskripsi |
---|---|
string | Diperlukan. Menentukan string yang akan diubah. |
flags |
Pilihan. Menentukan bagaimana menghadapi kutip, pengkodean yang tak sah dan jenis dokumen yang digunakan. Jenis kutip yang tersedia:
Pengkodean yang tak sah:
Flags tambahan untuk menentukan jenis dokumen yang digunakan:
|
character-set |
Pilihan. String yang menentukan karakter set yang digunakan. Nilai yang diizinkan:
Keterangan:Dalam versi PHP sebelum 5.4, karakter yang tak dapat diidentifikasi akan diabaikan dan digantikan dengan ISO-8859-1. Dari PHP 5.4, karakter yang tak dapat diidentifikasi akan diabaikan dan digantikan dengan UTF-8. |
double_encode |
Pilihan. Boolean, menentukan apakah entitas HTML yang sudah ada akan dikodekan.
|
Detil teknis
Kembalikan nilai: |
Kembalikan string yang telah diubah. Jika string Jika terdapat pengodean yang tidak sah, akan kembalikan string kosong, kecuali diatur ENT_IGNORE atau ENT_SUBSTITUTE flag. |
Versi PHP: | 4+ |
Log pembaruan: |
Dalam PHP 5,character-set Nilai baku parameter diubah menjadi UTF-8. Dalam PHP 5.4, ditambahkan: ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 dan ENT_XHTML. Dalam PHP 5.3, ditambahkan ENT_IGNORE. Dalam PHP 5.2.3, ditambahkan double_encode Parameter. Di PHP 4.1, ditambahkan character-set Parameter. |
Contoh Lebih Banyak
Contoh 1
Tukar beberapa aksara yang ditakrifkan menjadi entiti HTML:
<?php $str = "Bill & 'Steve'"; echo htmlspecialchars($str, ENT_COMPAT); // Convert double quotes only echo "<br>"; echo htmlspecialchars($str, ENT_QUOTES); // Convert double quotes and single quotes echo "<br>"; echo htmlspecialchars($str, ENT_NOQUOTES); // Convert no quotes ?>
Output HTML kod di atas seperti berikut (lihat kod sumber):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Steve'<br> Bill & 'Steve' </body> </html>
Output pemeriksaan kod di atas seperti ini:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
Contoh 2
Tukar petanda kutip ganda menjadi entiti HTML:
<?php $str = 'I love "PHP".'; echo htmlspecialchars($str, ENT_QUOTES); // Convert double quotes and single quotes ?>
Output HTML kod di atas seperti berikut (lihat kod sumber):
<!DOCTYPE html> <html> <body> Saya sayang "PHP". </body> </html>
Output pemeriksaan kod di atas seperti ini:
Saya sayang "PHP".