Cara Mengubah Entitas HTML Kembali Menjadi Karakter di PHP

Kadang data yang tersimpan di database sudah berbentuk entitas HTML, misalnya &amp; alih-alih &, atau &lt; alih-alih <. Saat ingin menampilkannya sebagai teks asli atau mengolahnya, entitas ini perlu dikembalikan. Artikel ini membahas cara mengubah entitas HTML kembali menjadi karakter di PHP.

Fungsi html_entity_decode()

<?php
$teks = "5 &lt; 10 &amp;&amp; harga &gt; 0";
echo html_entity_decode($teks);
// "5 < 10 && harga > 0"
?>

Pasangan htmlspecialchars() dan Kebalikannya

ArahFungsiContoh
Karakter → entitashtmlspecialchars()< menjadi &lt;
Entitas → karakterhtml_entity_decode()&lt; menjadi <

Contoh Kasus: Menyiapkan Teks untuk Email

Judul yang disimpan dengan htmlspecialchars() untuk keamanan tampilan web perlu dikembalikan saat dikirim sebagai email teks biasa:

<?php
$judul_db = "Diskon &amp; Promo Spesial";
$subjek_email = html_entity_decode($judul_db);
echo $subjek_email; // "Diskon & Promo Spesial"
?>

Peringatan Keamanan

Jangan menampilkan hasil html_entity_decode() langsung ke halaman web bila datanya berasal dari pengguna — ini bisa mengaktifkan kembali kode berbahaya (XSS). Fungsi ini untuk pengolahan teks, bukan untuk output HTML.

Kesimpulan

Gunakan html_entity_decode() untuk mengembalikan entitas HTML ke karakter aslinya, misalnya saat menyiapkan teks untuk email atau ekspor. Untuk menampilkan data pengguna di web, tetap gunakan htmlspecialchars() demi keamanan.

Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *