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); ?>
Ovanstående kods HTML-utdata är som följer (se källkod):
<!DOCTYPE html> <html> <body> This is some <b>bold</b> text. </body> </html>
Ovanstående kods utdata i webbläsaren:
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)
Parameter | 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:
Flaggor för att specificera det använda dokumenttypen:
|
character-set |
Valfritt. En sträng som anger den teckenuppsättning som ska användas. Tillåtna värden:
Kommentar:I versioner av PHP 5.4 och tidigare, ignoreras okända teckenuppsättningar och ersätts av ISO-8859-1. Från PHP 5.4 och framåt, ignoreras okända teckenuppsättningar och ersätts av UTF-8. |
double_encode |
Valfritt. Boolesk värde som anger om befintliga HTML-entiteter ska kodas.
|
Tekniska detaljer
Returvärde: |
Returnerar den konverterade strängen. Om string Innehåller ogiltig kodning, returneras en tom sträng, om inte ENT_IGNORE eller ENT_SUBSTITUTE-flaggan är satt. |
PHP-version: | 4+ |
Uppdateringslog |
I PHP 5:character-set Standardvärdet för parametern ändras till UTF-8. I PHP 5.4 lades till: ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 och ENT_XHTML. I PHP 5.3 lades till ENT_IGNORE. I PHP 5.2.3 lades till double_encode Parameter. I PHP 4.1 lades character-set Parameter. |
Mer exempel
Exempel 1
Konvertera vissa fördefinierade tecken till HTML-entities:
<?php $str = "Bill & 'Steve'"; echo htmlspecialchars($str, ENT_COMPAT); // Konvertera endast dubbelcitat echo "<br>"; echo htmlspecialchars($str, ENT_QUOTES); // Konvertera dubbel- och enkelcitat echo "<br>"; echo htmlspecialchars($str, ENT_NOQUOTES); // Konvertera inga citat ?>
Ovanstående kods HTML-utdata är som följer (se källkod):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Steve'<br> Bill & 'Steve' </body> </html>
Ovanstående kods utdata i webbläsaren:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
Exempel 2
Konvertera dubbelcitat till HTML-entities:
<?php $str = 'I love "PHP".'; echo htmlspecialchars($str, ENT_QUOTES); // Konvertera dubbel- och enkelcitat ?>
Ovanstående kods HTML-utdata är som följer (se källkod):
<!DOCTYPE html> <html> <body> Jag älskar "PHP". </body> </html>
Ovanstående kods utdata i webbläsaren:
Jag älskar "PHP".