PHP htmlentities() funktionen
Exempel
Konvertera tecken till HTML-entiteter:
<?php $str = "<? W3S?h????>"; echo htmlentities($str); ?>
Ovanstående kods HTML-utdata är följande (visa källkoden):
<!DOCTYPE html> <html> <body> <© W3Sçh°°¦§> </body> </html>
Ovanstående kods utdata i webbläsaren:
<? W3S?h????>
Definition och användning
htmlentities()-funktionen för att konvertera tecken till HTML-entiteter.
Tips:För att konvertera HTML-entiteter till tecken, använd html_entity_decode() funktionen.
Tips:Använd get_html_translation_table() Funktion som returnerar den översättningsmatris som används av htmlentities().
Syntax
htmlentities(string,flags,character-set,double_encode)
Parameter | Beskrivning |
---|---|
string | Obligatorisk. Specificera den sträng som ska konverteras. |
flags |
Valfritt. Specificera hur citattecken, ogiltig kodning och vilken dokumenttyp som används ska hanteras. Tillgängliga citattecken:
Ogiltig kodning:
Ytterligare flaggor för den dokumenttyp som används:
|
character-set |
Valfritt. En sträng som specificerar den teckenuppsättning som ska användas. Tillåtna värden:
Kommentar:I versioner av PHP innan 5.4, ignoreras okända teckenuppsättningar och ersätts med ISO-8859-1. Från PHP 5.4 och framåt ignoreras okända teckenuppsättningar och ersätts med 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+ |
Uppdateringslogg: |
I PHP 5:character-set Standardvärdet för parametern ändrades 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 ENT_IGNORE. I PHP 5.2.3 lades double_encode Parameter. I PHP 4.1 lades character-set Parameter. |
Mer exempel
Exempel 1
Konvertera tecken till HTML-entiteter:
<?php $str = "Bill & 'Steve'"; echo htmlentities($str, ENT_COMPAT); // Endast konverterar dubbelcitat echo "<br>"; echo htmlentities($str, ENT_QUOTES); // Konverterar dubbel- och enkelcitat echo "<br>"; echo htmlentities($str, ENT_NOQUOTES); // Konverterar inte några citat ?>
Ovanstående kods HTML-utdata är följande (visa källkoden):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Tarzan'<br> Bill & 'Steve' </body> </html>
Ovanstående kods utdata i webbläsaren:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
Exempel 2
Genom att använda västerländsk teckenuppsättning konverteras vissa tecken till HTML-entiteter:
<?php $str = "Mitt namn är ?yvind ?sane. Jag är norsk."; echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); // Kommer endast att konvertera dubbelcitat (inte enkla citat), och använder teckenuppsättningen Västerländsk ?>
Ovanstående kods HTML-utdata är följande (visa källkoden):
<!DOCTYPE html> <html> <body> Mitt namn är Øyvind Åsane. Jag är norsk. </body> </html>
Ovanstående kods utdata i webbläsaren:
Mitt namn är ?yvind ?sane. Jag är norsk.