Cara menggunakan htmlspecialchars_decode vs html_entity_decode

❮ PHP String Reference

Example

Convert the predefined HTML entities "<" (less than) and ">" (greater than) to characters:

<?php
$str = "This is some &lt;b&gt;bold&lt;/b&gt; text.";
echo htmlspecialchars_decode($str);
?>

The HTML output of the code above will be (View Source):

<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>

The browser output of the code above will be:

This is some bold text.



Definition and Usage

The htmlspecialchars_decode() function converts some predefined HTML entities to characters.

HTML entities that will be decoded are:

  • &amp; becomes & (ampersand)
  • &quot; becomes " (double quote)
  • &#039; becomes ' (single quote)
  • &lt; becomes < (less than)
  • &gt; becomes > (greater than)

The htmlspecialchars_decode() function is the opposite of htmlspecialchars().


Syntax

htmlspecialchars_decode(string,flags)

Parameter Values

ParameterDescription
string Required. Specifies the string to decode
flags Optional. Specifies how to handle quotes and which document type to use.

The available quote styles are:

  • ENT_COMPAT - Default. Decodes only double quotes
  • ENT_QUOTES - Decodes double and single quotes
  • ENT_NOQUOTES - Does not decode any quotes

Additional flags for specifying the used doctype:

  • ENT_HTML401 - Default. Handle code as HTML 4.01
  • ENT_HTML5 - Handle code as HTML 5
  • ENT_XML1 - Handle code as XML 1
  • ENT_XHTML - Handle code as XHTML


Technical Details

Return Value:Returns the converted string
PHP Version:5.1.0+
Changelog:PHP 5.4 - Added ENT_HTML401, ENT_HTML5, ENT_XML1 and ENT_XHTML.

More Examples

Example

Convert some predefined HTML entities to characters:

<?php
$str = "Jane &amp; &#039;Tarzan&#039;";
echo htmlspecialchars_decode($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlspecialchars_decode($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlspecialchars_decode($str, ENT_NOQUOTES); // Does not convert any quotes
?>

The HTML output of the code above will be (View Source):

<!DOCTYPE html>
<html>
<body>
Jane & &#039;Tarzan&#039;<br>
Jane & 'Tarzan'<br>
Jane & &#039;Tarzan&#039;
</body>
</html>

The browser output of the code above will be:

Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'


Example

Convert the predefined HTML entities to double quotes:

<?php
$str = 'I love &quot;PHP&quot;.';
echo htmlspecialchars_decode($str, ENT_QUOTES); // Converts double and single quotes
?>

The HTML output of the code above will be (View Source):

<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>

The browser output of the code above will be:

I love "PHP".



❮ PHP String Reference


Halo teman-teman pada kesempatan kali ini saya akan menjelaskan tentang Fungsi htmlentities dan html_entity_decode Pada PHP.

Mungkin teman-teman yang sedang membuat website, dan ingin menampilkan script atau tag HTML, sebagai tips atau tutorial pada website teman-teman. fungsi dari htmlentities dan html_entity_decode akan sangat membantu karna htmlentities dan html_entity_decode  adalah fungsi untuk mengubah sebuah Tag HTML menjadi sebuah karakter yang nanti nya akan muncul di layar sebagai karakter special (Tidak di baca sebagai element HTML).

Semisal, teman-teman ingin memunculkan karakter “<b><b/>” di layar web, tapi jika tanpa fungsi htmlentities maka akan hilang karakter nya karena di baca sebagai tag html di web browser.

Penjelasan:

  • htmlentities() , fungsi nya untuk mengencode tag html menjadi karakter special
  • html_entity_decode(), fungsi nya untuk mengdecode karakter special yang sudah di encode dengan fungsi htmlentities().

Contoh:

<?php
$string = '<a href="http://dumetschool.com">DUMET School</a>';
echo htmlentities($string);
?>

Maka hasilnya adalah

<a href="http://dumetschool.com">DUMET School</a>

Bukan menjadi seperti ini ya teman-teman DUMET School karena pemakaian htmlentities() tadi yang memunculkan script atau tag HTML yang ingin teman-teman tampilkan. Semoga bermanfaat.