urlencode
(PHP 3, PHP 4, PHP 5)
urlencode -- URL-codeert een string
Beschrijving
string urlencode ( string str )
Geeft een string terug waarin alle niet alfanumerieke tekens behalve -_. zijn vervangen door een procent teken (%) gevolgd door twee hexadecimale cijfers en spaties gecodeerd als plus-tekens ((+). Het is gecodeerd op dezelfde manier als de geposte data van een WWW formulier is gecodeerd, dat is dezelfde manier als in het application/x-www-form-urlencoded media type. Dit verschilt van de RFC1738 encoding (zie rawurlencode()) in het feit dat, om historische redenen, spaties zijn gecodeerd als plus (+) tekens. Deze functie is handig als je een string moet coderen die moet worden gebruikt in het query-gedeelte van een URL, als een makkelijke manier om variabelen naar een volgende pagina te zenden.
Voorbeeld 1. urlencode() voorbeeld
echo '<a href="mycgi?foo=', urlencode($userinput), '">';
Opmerking: let op met variabelen die HTML entities kunnen bevatten. Dingen als &, © en &pount worden geparsed door de browser. Dit is een omslachtigheid waar de W3C al jaren mensen op wijst. Meer informatie is hier:
http://www.w3.o...ml#h-B.2.2. PHP ondersteunt het veranderen van de argument separator in een punt-komma, zoals het W3C dat aanraadt, met de .ini optie arg_separator. Jammer genoeg zenden de meeste user agents form data niet in een punt-komma gescheiden formaat. Een wijder ondersteunde manier is om & te gebruiken in plaats van & als het scheidingsteken. Het is niet nodig om daarvoor PHP's arg_separator aan te passen. Laat het gewoon op & staan, maar codeer je URLs met htmlentities()(urlencode($data)).
Voorbeeld 2. urlencode/htmlentities() voorbeeld
echo '<a href="mycgi?foo=', htmlentities(urlencode($userinput)), '">';