PHP htmlspecialchars() function
Example
Convert predefined characters "<" (less than) and ">" (greater than) to HTML entities:
<?php $str = "This is some <b>bold</b> text."; echo htmlspecialchars($str); ?>
Hieronder ziet u de HTML-uitvoer van de bovenstaande code (bekijk de broncode):
<!DOCTYPE html> <html> <body> This is some <b>bold</b> text. </body> </html>
Hieronder ziet u de browseruitvoer van de bovenstaande code:
This is some <b>bold</b> text.
Definition and usage
The htmlspecialchars() function converts predefined characters to HTML entities.
Predefined characters are:
- & (ampersand) becomes &
- " (double quote) becomes "
- ' (single quote) becomes '
- < (less than) becomes <
- > (greater than) becomes >
Tip:To convert special HTML entities back to characters, use htmlspecialchars_decode() Function.
Syntax
htmlspecialchars(string,flags,character-set,double_encode)
Parameters | Description |
---|---|
string | Required. Specifies the string to be converted. |
flags |
Optional. Specifies how to handle quotes, invalid encoding, and which document type to use. Available quote types:
Invalid encoding:
Additional flags for specifying the document type used:
|
character-set |
Optional. A string that specifies the character set to be used. Allowed values:
Note:In versions of PHP prior to 5.4, unrecognized character sets were ignored and replaced by ISO-8859-1. Starting from PHP 5.4, unrecognized character sets are ignored and replaced by UTF-8. |
double_encode |
Optional. Boolean value, specifies whether to encode existing HTML entities.
|
Technical details
Return value: |
Returns the converted string. If string If the string contains invalid encoding, an empty string is returned unless ENT_IGNORE or ENT_SUBSTITUTE flags are set. |
PHP version: | 4+ |
Update log: |
In PHP 5,character-set The default parameter value has been changed to UTF-8. In PHP 5.4, the following were added: ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 and ENT_XHTML. In PHP 5.3, ENT_IGNORE was added. In PHP 5.2.3, a new feature was added: double_encode Parameters. In PHP 4.1 is er een nieuwe character-set Parameters. |
Meer voorbeelden
Voorbeeld 1
Convert some predefined characters to HTML entities:
<?php $str = "Bill & 'Steve'"; echo htmlspecialchars($str, ENT_COMPAT); // Only convert double quotes echo "<br>"; echo htmlspecialchars($str, ENT_QUOTES); // Convert double quotes and single quotes echo "<br>"; echo htmlspecialchars($str, ENT_NOQUOTES); // Do not convert any quotes ?>
Hieronder ziet u de HTML-uitvoer van de bovenstaande code (bekijk de broncode):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Steve'<br> Bill & 'Steve' </body> </html>
Hieronder ziet u de browseruitvoer van de bovenstaande code:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
Voorbeeld 2
Convert double quotes to HTML entities:
<?php $str = 'I love "PHP".'; echo htmlspecialchars($str, ENT_QUOTES); // Convert double quotes and single quotes ?>
Hieronder ziet u de HTML-uitvoer van de bovenstaande code (bekijk de broncode):
<!DOCTYPE html> <html> <body> Ik hou van "PHP". </body> </html>
Hieronder ziet u de browseruitvoer van de bovenstaande code:
Ik hou van "PHP".