Fungsi html_entity_decode() PHP

Contoh

Mengubah entitas HTML yang ditakrifkan "<" (kecil) dan ">" (besar) kepada aksara:

<?php
$str = "Ini adalah teks yang disorot.";
echo htmlspecialchars_decode($str);
?>

Output HTML kod di atas seperti berikut (lihat kod asal):

<!DOCTYPE html>
<html>
<body>
Ini adalah teks yang disorot.
</body>
</html>

Output pelayar kod di atas:

Ini adalah teks yang disorot.

Definisi dan penggunaan

Fungsi htmlspecialchars_decode() mengubah entitas HTML yang ditakrifkan kepada aksara.

Entitas HTML yang akan dihuraikan adalah:

  • & Dihuraikan kepada & (dan).
  • " Dihuraikan kepada " (petanda kutip ganda).
  • ' Dihuraikan kepada ' (petanda kutip tunggal).
  • < Dihuraikan kepada < (kecil).
  • > Dihuraikan kepada > (besar).

Fungsi htmlspecialchars_decode() adalah fungsi yang sebaliknya daripada htmlspecialchars().

Sintaksis

htmlspecialchars_decode(string,flags)
Parameter Deskripsi
string Diperlukan. Menentukan string yang akan dihuraikan.
flags

Pilihan. Menentukan bagaimana petanda kutip diproses serta jenis dokumen yang digunakan.

Jenis petanda kutip yang tersedia:

  • ENT_COMPAT - Lepas. Hanya menghuraikan petanda kutip ganda.
  • ENT_QUOTES - Menghuraikan petanda kutip ganda dan tunggal.
  • ENT_NOQUOTES - Tidak menghuraikan apa-apa petanda kutip.

Flag tambahan untuk jenis dokumen yang digunakan:

  • ENT_HTML401 - Lepas. Sebagai kod HTML 4.01.
  • ENT_HTML5 - Sebagai kod HTML 5.
  • ENT_XML1 - Sebagai kod XML 1.
  • ENT_XHTML - Sebagai kod HTML.

Perincian teknikal

Kembalikan nilai: Kembalikan string yang telah diubah suai.
Versi PHP: 5.1.0+
Log pembaruan:

Dalam PHP 5.4, ditambahkan flag tambahan untuk menetapkan jenis dokumen yang digunakan:

  • ENT_HTML401
  • ENT_HTML5
  • ENT_XML1
  • ENT_XHTML

Contoh lebih lanjut

Contoh 1

Tukar HTML entity yang ditakrifkan sebelum ini kepada aksara:

<?php
$str = "Bill & 'Steve'";
echo htmlspecialchars_decode($str, ENT_COMPAT); // Hanya tukar petanda kutip ganda
echo "<br>";
echo htmlspecialchars_decode($str, ENT_QUOTES); // Tukar petanda kutip ganda dan tunggal
echo "<br>";
echo htmlspecialchars_decode($str, ENT_NOQUOTES); // Tidak tukar apa-apa petanda kutip
?>

Output HTML kod di atas seperti berikut (lihat kod asal):

<!DOCTYPE html>
<html>
<body>
Bill & 'Steve'<br>
Bill & 'Steve'<br>
Bill & 'Steve'
</body>
</html>

Output pelayar kod di atas:

Bill & 'Steve'
Bill & 'Steve'
Bill & 'Steve'

Contoh 2

Tukar HTML entity yang ditakrifkan sebelum ini kepada petanda kutip ganda:

<?php
$str = 'I love "PHP".';
echo htmlspecialchars_decode($str, ENT_QUOTES); // Tukar petanda kutip ganda dan tunggal
?>

Output HTML kod di atas seperti berikut (lihat kod asal):

<!DOCTYPE html>
<html>
<body>
Saya sayang "PHP".
</body>
</html>

Output pelayar kod di atas:

Saya sayang "PHP".