Forum und email

htmlspecialchars

(PHP 4, PHP 5)

htmlspecialchars — Konverter specielle tegn til HTML-entiteter

Beskrivelse

string htmlspecialchars ( string $string [, int $quote_style [, string $charset ]] )

Nogle karakterer har speciel betydning i HTML, og skal præsenteres som HTML-entiteter hvis de skal bevare deres betydning. Denne funktion returnerer en streng med nogle af disse konverteringer; oversættelserne som bliver udført, er dem der bruges i hverdags webprogrammering. Hvis du kræver at alle HTML-karakterer skal oversættes, så brug htmlentities() i stedet

Denne funktion er brugbar til at forhindre brugertilføjet tekst i at indeholde HTML, såsom i fora og gæstebøger. Den frivillige anden parameter, quote_style , fortæller funktionen hvad den skal gøre med enkelte og dobbelte citationstegn. Standardindstillingen, ENT_COMPAT, er den bagud-kompatible indstilling som kun oversætter de dobbelte citationstegn og efterlader de enkelte. Hvis ENT_QUOTES er sat, bliver både enkelte og dobbelte citationstegn oversat og hvis ENT_NOQUOTES er sat, bliver hverken enkelte eller dobbelte citationstegn oversat.

Oversættelserne der bliver udført er:

  • '&' (ampersand) bliver '&'
  • '"' (dobbelt citationstegn) bliver '"' nÃ¥r ENT_NOQUOTES ikke er sat.
  • ''' (enkelt citationstegn) bliver ''' nÃ¥r ENT_QUOTES er sat.
  • '<' (mindre end) bliver '&lt;'
  • '>' (større end) bliver '&gt;'

Example#1 htmlspecialchars() eksempel

<?php
$ny 
htmlspecialchars("<a href='test'>Test</a>"ENT_QUOTES);
echo 
$ny// &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>

Bemærk at denne funktion ikke oversætter andet end hvad der er vist ovenfor. For fuld entitets-oversættelse, se htmlentities(). Understøttelse for det valgfrie andet argument blev tilføjet i PHP 3.0.17 og PHP 4.0.3.

Det tredje argument charset definerer tegnsætkodningen som bruges i omdannelsen. Standard-kodningen er sat til ISO-8859-1. Understøttelse for tredje argument blev tilføjet i PHP 4.1.0.

Følgende tegnkodninger er understøttet i PHP 4.3.0 og senere.

Understøttede tegnkodninger
Tegnkodning Aliaser Beskrivelse
ISO-8859-1 ISO8859-1 Vesteuropæisk, Latin-1
ISO-8859-15 ISO8859-15 Vesteuropæisk, Latin-9. Tilfølger euro-tegnet, franske og finske tegn som mangler i Latin-1 (ISO-8859-1)
UTF-8   ASCII-kompatibelt flerbit 8-bit UCS
cp866 ibm866, 866 DOS-specifik kyrillisk tegnkodning. Denne tegnkodning er understøttet i 4.3.2
cp1251 Windows-1251, win-1251, 1251 Windows-specifik kyrillisk tegnkodning. Denne tegnkodning er understøttet i 4.3.2.
cp1252 Windows-1252, 1252 Windows-specifik tegnkodning for vesteuropæisk.
KOI8-R koi8-ru, koi8r Russisk. Denne tegnkodning er understøttet i 4.3.2.
BIG5 950 Traditionelt kinesisk, hovedsageligt brugt i Taiwan.
GB2312 936 Simplificeret kinesisk, nation standard tegnkodning.
BIG5-HKSCS   Big5 med Hong Kong-tilføjelser, traditionelt kinesisk.
Shift_JIS SJIS, 932 Japansk
EUC-JP EUCJP Japansk

Note: Ingen andre tegnkodninger bliver genkendt, og ISO-8859-1 vil blive brugt i stedet.

Se også get_html_translation_table(), strip_tags(), htmlentities() og nl2br().