PHP htmlspecialchars() funktion
Eksempel
Konverter foruddefinerede tegn "<" (mindre end) og ">" (større end) til HTML-entiteter:
<?php $str = "This is some <b>bold</b> text."; echo htmlspecialchars($str); ?>
HTML-outputtet for ovenstående kode er som følger (se kildekode):
<!DOCTYPE html> <html> <body> This is some <b>bold</b> text. </body> </html>
Browserens output af ovenstående kode:
This is some <b>bold</b> text.
Definition og brug
Funktionen htmlspecialchars() konverterer foruddefinerede tegn til HTML-entiteter.
Foruddefinerede tegn er:
- & (og-tegn) bliver til &
- " (dobbelt citationstegn) bliver til "
- ' (enkel citationstegn) bliver til '
- < (mindre end) bliver til <
- > (større end) bliver til >
Vedvisning:For at konvertere specielle HTML-entiteter til tegn, brug htmlspecialchars_decode() Funktion.
Syntaks
htmlspecialchars(string,flags,character-set,double_encode)
Parameter | Beskrivelse |
---|---|
string | Obligatorisk. Angiv den streng, der skal konverteres. |
flags |
Valgfri. Angiv hvordan citationstegn, ugyldige tegnsætter og hvilken dokumenttype skal håndteres. Tilgængelige citationstegn typer:
Ugyldige tegnsætter:
Definerer ekstra flags for den brugte dokumenttype:
|
character-set |
Valgfri. En streng, der angiver den tegnsæt, der skal bruges. Tilladte værdier:
Kommentar:Før PHP 5.4 versioner blev ikke genkendte tegnsætter ignoreret og erstattet med ISO-8859-1. Fra PHP 5.4 blev ikke genkendte tegnsætter ignoreret og erstattet med UTF-8. |
double_encode |
Valgfri. Boolsk værdi, der angiver om eksisterende HTML-entiteter skal kodes.
|
Tekniske detaljer
Returværdi: |
Returns den konverterede streng. Hvis string Hvis der er inkluderet ugyldige koder, returns en tom streng, medmindre ENT_IGNORE eller ENT_SUBSTITUTE flaget er sat. |
PHP version | 4+ |
Opdateringslog |
I PHP 5character-set Standardværdien for parameteren ændres til UTF-8. I PHP 5.4 blev følgende tilføjet: ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 og ENT_XHTML. I PHP 5.3 blev ENT_IGNORE tilføjet. I PHP 5.2.3 blev der tilføjet double_encode Parameter. I PHP 4.1 blev der tilføjet character-set Parameter. |
Flere eksempler
Eksempel 1
Konverter nogle prædefinerede tegn til HTML-entiteter:
<?php $str = "Bill & 'Steve'"; echo htmlspecialchars($str, ENT_COMPAT); // Kun konverter dobbelte anførselstegn echo "<br>"; echo htmlspecialchars($str, ENT_QUOTES);// Konverter dobbelte anførselstegn og enkelt anførselstegn echo "<br>"; echo htmlspecialchars($str, ENT_NOQUOTES); // Konverter ingen anførselstegn ?>
HTML-outputtet for ovenstående kode er som følger (se kildekode):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Steve'<br> Bill & 'Steve' </body> </html>
Browserens output af ovenstående kode:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
Eksempel 2
Konverter dobbelte anførselstegn til HTML-entiteter:
<?php $str = 'I love "PHP".'; echo htmlspecialchars($str, ENT_QUOTES); // Konverter dobbelte anførselstegn og enkelt anførselstegn ?>
HTML-outputtet for ovenstående kode er som følger (se kildekode):
<!DOCTYPE html> <html> <body> Jeg elsker "PHP". </body> </html>
Browserens output af ovenstående kode:
Jeg elsker "PHP".