Home » PHP » Fungsi String htmlentities() Pada PHP

Fungsi String htmlentities() Pada PHP

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Section Artikel

Definisi dan Penggunaan

Fungsi htmlentities() digunakan untuk dapat mengubah karakter menjadi entitas HTML.

Tip: Untuk mengubah entitas HTML kembali menjadi karakter, gunakan fungsi html_entity_decode().

Tip: Gunakan fungsi get_html_translation_table() untuk mengembalikan tabel terjemahan yang digunakan oleh htmlentities ().

Syntax

htmlentities(string,flags,character-set,double_encode)

Nilai Parameter

ParameterDeskripsi
stringRequired. Menentukan string yang akan diubah
flagsOptional.Menentukan bagaimana menangani kutipan, pengkodean yang tidak valid dan tipe dokumen yang digunakan.
Gaya kutipan yang tersedia adalah:

ENT_COMPAT – Default. Mengkodekan hanya tanda kutip ganda
ENT_QUOTES – Mengkodekan tanda kutip ganda dan tunggal
ENT_NOQUOTES – Tidak menyandikan tanda kutip apa pun

Enkode tidak valid:

ENT_IGNORE – Mengabaikan pengkodean yang tidak valid alih-alih membuat fungsi mengembalikan string kosong. Harus dihindari, karena mungkin memiliki implikasi keamanan.
ENT_SUBSTITUTE – Mengganti pengkodean yang tidak valid untuk kumpulan karakter tertentu dengan Karakter Pengganti Unicode U + FFFD (UTF-8) atau & # FFFD; bukannya mengembalikan string kosong.
ENT_DISALLOWED – Mengganti poin kode yang tidak valid di doctype yang ditentukan dengan Unicode Replacement Character U + FFFD (UTF-8) atau & # FFFD;

Flag tambahan untuk menentukan doctype yang digunakan:

ENT_HTML401 – Default. Tangani kode sebagai HTML 4.01
ENT_HTML5 – Menangani kode sebagai HTML 5
ENT_XML1 – Menangani kode sebagai XML 1
ENT_XHTML – Menangani kode sebagai XHTML
character-setOptional.String yang menentukan kumpulan karakter mana yang akan digunakan.

Nilai yang diperbolehkan adalah:

UTF-8 – Default. Unicode 8-bit multi-byte yang kompatibel dengan ASCII
ISO-8859-1 – Eropa Barat
ISO-8859-15 – Eropa Barat (menambahkan tanda Euro + huruf Prancis dan Finlandia tidak ada dalam ISO-8859-1)
cp866 – rangkaian karakter Cyrillic khusus DOS
cp1251 – rangkaian karakter Cyrillic khusus Windows
cp1252 – charset khusus Windows untuk Eropa Barat
KOI8-R – Rusia
BIG5 – Bahasa Cina Tradisional, terutama digunakan di Taiwan
GB2312 – Cina Sederhana, kumpulan karakter standar nasional
BIG5-HKSCS – Big5 dengan ekstensi Hong Kong
Shift_JIS – Jepang
EUC-JP – Jepang
MacRoman – Karakter-set yang digunakan oleh Mac OS

Catatan: Kumpulan karakter yang tidak dikenali akan diabaikan dan diganti dengan ISO-8859-1 dalam versi sebelum PHP 5.4. Mulai PHP 5.4, itu akan diabaikan dan digantikan oleh UTF-8.
double_encodeOptional. Nilai boolean yang menentukan apakah akan mengenkode entitas html yang ada atau tidak.

TRUE – Default. Akan mengubah segalanya
FALSE – Tidak akan menyandikan entitas html yang ada

Detail Teknis

Return Value:Mengembalikan string yang dikonversi. Namun, jika parameter string berisi encoding yang tidak valid, itu akan mengembalikan string kosong, kecuali jika flag ENT_IGNORE atau ENT_SUBSTITUTE disetel
PHP Version:4+
Changelog:PHP 5.6 – Mengubah nilai default untuk parameter set karakter ke nilai charset default (dalam konfigurasi).
PHP 5.4 – Mengubah nilai default untuk parameter set karakter ke UTF-8.
PHP 5.4 – Menambahkan ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 dan ENT_XHTML
PHP 5.3 – Menambahkan konstanta ENT_IGNORE.
PHP 5.2.3 – Menambahkan parameter double_encode.
PHP 4.1 – Menambahkan parameter set karakter.

Contoh 1
Ubah beberapa karakter menjadi entitas HTML:

<?php
$str = '<a href="https://www.w3schools.com">Go to w3schools.com</a>';
echo htmlentities($str);
?>
  /* Output :
HTML Output : &lt;a href=&quot;https://www.w3schools.com&quot;&gt;Go to w3schools.com&lt;/a&gt;
Browser Output : <a href="https://www.w3schools.com">Go to w3schools.com</a>

Contoh 2
Ubah beberapa karakter menjadi entitas HTML:

<?php
$str = "Albert Einstein mengatakan: 'E=MC&sup2;'";
echo html_entity_decode($str, ENT_COMPAT); // Hanya akan mengubah tanda kutip ganda
echo "<br>";
echo html_entity_decode($str, ENT_QUOTES); // Mengonversi tanda kutip ganda dan tunggal
echo "<br>";
echo html_entity_decode($str, ENT_NOQUOTES); // Tidak mengubah kutipan apa pun
?>
  /* Output : 
Output HTML (View Source): 

Albert Einstein mengatakan: 'E=MC²'<br>
Albert Einstein mengatakan: 'E=MC²'<br>
Albert Einstein mengatakan: 'E=MC²'

Output browser : 

Albert Einstein mengatakan: 'E=MC²'
Albert Einstein mengatakan: 'E=MC²'
Albert Einstein mengatakan: 'E=MC²'

Contoh 3
Ubah beberapa karakter menjadi entitas HTML menggunakan himpunan karakter Eropa Barat:

<?php
$str = "Nama saya &Oslash;yvind &Aring;sane. Saya orang Norwegia.";
echo html_entity_decode($str, ENT_QUOTES, "UTF-8");
?>

/* Output : 
Output HTML (View Source): Nama saya Øyvind Åsane. Saya orang Norwegia.
Output browser : Nama saya Øyvind Åsane. Saya orang Norwegia.

You may also like