Fungsi PHP htmlspecialchars()
Contoh
Mengubah karakter yang ditetapkan "<" (kecil) dan ">" (besar) ke HTML entity:
<?php $str = "Ini adalah beberapa <b>tebal</b> teks."; echo htmlspecialchars($str); ?>
Output HTML kode di atas seperti berikut (lihat kode asli):
<!DOCTYPE html> <html> <body> Ini adalah beberapa teks <b>tebal</b>. </body> </html>
Output browser kode di atas:
Ini adalah beberapa teks <b>tebal</b>.
Definisi dan penggunaan
Fungsi htmlspecialchars() mengubah karakter yang ditetapkan ke HTML entity.
Karakter yang ditetapkan adalah:
- & (dan) menjadi &
- " (tanda kutip ganda) menjadi "
- ' (tanda kutip tunggal) menjadi '
- < (kecil) menjadi <
- > (besar) menjadi >
Petunjuk:Untuk mengkonversi HTML entity khusus ke karakter, gunakan htmlspecialchars_decode() Fungsi.
Sintaks
htmlspecialchars(string,flags,character-set,double_encode)
Parameter | Deskripsi |
---|---|
string | Wajib. Menentukan string yang akan diubah. |
flags |
Pilihan. Menentukan bagaimana menangani kutip, pengkodean yang tidak sah, dan jenis dokumen yang digunakan. Tipe kutip yang tersedia:
Pengkodean yang tidak sah:
Flag tambahan untuk menentukan jenis dokumen yang digunakan:
|
character-set |
Pilihan. String yang menentukan karakter set yang digunakan. Nilai yang diizinkan:
Keterangan:Pada versi PHP sebelum 5.4, karakter yang tidak dapat diidentifikasi akan diabaikan dan digantikan dengan ISO-8859-1. Dari PHP 5.4, karakter yang tidak dapat diidentifikasi akan diabaikan dan digantikan dengan UTF-8. |
double_encode |
Pilihan. Boolean, menentukan apakah HTML entity yang sudah ada akan dienkodifikasi.
|
Detil teknis
Nilai kembalian: |
Kembalikan string yang telah diubah. Jika string Jika terdapat enkoding yang tidak sah, akan kembalikan string kosong, kecuali telah diatur ENT_IGNORE atau ENT_SUBSTITUTE flag. |
Versi PHP: | 4+ |
Log pembaruan: |
Pada PHP 5,character-set Nilai default parameter diubah menjadi UTF-8. Pada PHP 5.4, di tambahkan: ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 dan ENT_XHTML. Pada PHP 5.3, di tambahkan ENT_IGNORE. Pada PHP 5.2.3, di tambahkan double_encode Parameter. Dalam PHP 4.1, menambahkan character-set Parameter. |
Beberapa contoh lain
Contoh 1
Konversi beberapa karakter yang ditetapkan ke entitas HTML:
<?php $str = "Bill & 'Steve'"; echo htmlspecialchars($str, ENT_COMPAT); // Hanya konversi tanda kutip ganda echo "<br>"; echo htmlspecialchars($str, ENT_QUOTES); // Konversi tanda kutip ganda dan tunggal echo "<br>"; echo htmlspecialchars($str, ENT_NOQUOTES); // Tidak mengkonversi tanda kutip apapun ?>
Output HTML kode di atas seperti berikut (lihat kode asli):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Steve'<br> Bill & 'Steve' </body> </html>
Output browser kode di atas:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
Contoh 2
Konversi tanda kutip ganda ke entitas HTML:
<?php $str = 'Saya mencintai "PHP".'; echo htmlspecialchars($str, ENT_QUOTES); // Konversi tanda kutip ganda dan tunggal ?>
Output HTML kode di atas seperti berikut (lihat kode asli):
<!DOCTYPE html> <html> <body> Saya mencintai "PHP". </body> </html>
Output browser kode di atas:
Saya mencintai "PHP".