Forum und email

htmlspecialchars

(PHP 4, PHP 5)

htmlspecialchars — Converteert speciala karakters naar HTML entities

Beschrijving

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

Bepaalde karakters hebben een speciale betekenis in HTML, en moeten daarom weergegeven worden als HTML entities als die hun betekenissen moeten behouden. Deze functie geeft een string terug waarin sommige van deze conversies al gemaakt; de conversies die gemaakt worden zijn de conversies die het meest gangbaar zijn in het alledaags web programmeren. Als je wil dat alle HTML karakter entities geconverteerd worden moet hiervoor htmlentities() worden gebruikt.

Deze functie is nuttig om te voorkomen dat gebruiker-ingevoerde tekst HTML markup bevat, zoals in gastenboeken of andere applicaties. Het optionele tweede argument, quote_style, vertelt de functie wat te doen met enkele en dubbele quote karakters. De default mode, ENT_COMPAT, is de terugwaards compatibele mode die alleen de dubbele quotes vertaalt, en dus niet de enkele quotes. Als ENT_QUOTES is geactiveerd, zullen zowel enkele als dubbele quotes worden geconverteerd en als ENT_NOQUOTES is geactiveerd zal de functie beide enkele en dubbele quotes niet converteren.

De uitgevoerde conversies zijn:

  • '&' (ampersand) wordt '&'
  • '"' (dubbele quote) wordt '"' wanneer ENT_NOQUOTES niet geactiveerd is.
  • ''' (enkele quote) wordt ''' alleen wanneer ENT_QUOTES geactiveerd is.
  • '<' (kleiner dan) wordt '&lt;'
  • '>' (groter dan) wordt '&gt;'

Example#1 htmlspecialchars() example

$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);

Merk op dat deze functie alles wat hierboven niet weergegeven is ook niet converteert. Voor conversie van alle entities, zie htmlentities(). Let op dat het optionele tweede argument toegevoegd is in PHP 3.0.17 en PHP 4.0.3.

Het derde argument definieert welke karakter set moet worden gebruikt in de conversie. Standaard is dat ISO-8859-1. Dit derde argument was toegevoegd in PHP 4.1.0.

Zie ook get_html_translation_table(), htmlentities() en nl2br().