In this article, we will see what htmlentities() & htmlspecialchars() Function is used for & also understand their implementation through the examples.
htmlentities() Function: The htmlentities() function is an inbuilt function in PHP that is used to transform all characters which are applicable to HTML entities. This function converts all characters that are applicable to HTML entities.
Syntax:
string htmlentities( $string, $flags, $encoding, $double_encode )Parameters value: This function accepts four parameters as mentioned above and described below:
- $string: This parameter is used to hold the input string.
- $flags: This parameter is used to hold the flags. It is a combination of one or two flags, which tells how to handle quotes.
- $encoding: It is an optional argument that specifies the encoding which is used when characters are converted. If encoding is not given then it is converted according to the PHP default version.
- $double_encode: If double_encode is turned off then PHP will not encode existing HTML entities. The default is to convert everything.
Return Values: This function returns the string which has been encoded.
Example: This example uses the htmlentities() function to transform all characters which are applicable to HTML entities.
PHP
Output:
<a href="//www.geeksforgeeks.org">GeeksforGeeks</a>htmlspecialchars() Function: The htmlspecialchars() function is an inbuilt function in PHP which is used to convert all predefined characters to HTML entities.
Syntax:
string htmlspecialchars( $string, $flags, $encoding, $double_encode )Parameter value:
- $string: This parameter is used to hold the input string.
- $flags: This parameter is used to hold the flags. It is a combination of one or two flags, which tells how to handle quotes.
- $encoding: It is an optional argument that specifies the encoding which is used when characters are converted. If encoding is not given then it is converted according to the PHP default version.
- $double_encode: If double_encode is turned off then PHP will not encode existing HTML entities. The default is to convert everything.
Return Values: This function returns the converted string. If there is an invalid input string then an empty string will be returned.
Example: This example uses the htmlspecialchars() function to convert all predefined characters to HTML entities.
PHP
<?php
$str = '"geeksforgeeks.org" Go to GeeksforGeeks';
echo htmlspecialchars($str, ENT_QUOTES);
?>
Output:
"geeksforgeeks.org" Go to GeeksforGeeksDifference between htmlentities() and htmlspecialchars() function: The only difference between these function is that htmlspecialchars() function convert the special characters to HTML entities whereas htmlentities() function convert all applicable characters to HTML entities.
❮ PHP String Reference
Example
Convert the predefined HTML entities "<" (less than) and ">" (greater than) to characters:
<?php
$str = "This is some <b>bold</b> 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:
- & becomes & (ampersand)
- " becomes " (double quote)
- ' becomes ' (single quote)
- < becomes < (less than)
- > becomes > (greater than)
The htmlspecialchars_decode() function is the opposite of htmlspecialchars().
Syntax
htmlspecialchars_decode(string,flags)
Parameter Values
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:
Additional flags for specifying the used doctype:
|
Technical Details
Returns the converted string |
5.1.0+ |
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 & 'Tarzan'";
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 & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</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 "PHP".';
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