PHP kézikönyv
Előző
Következő
Visszaad egy karakterláncot, amiben minden nem alfanumerikus karakter, kivéve a -_. karaktereket, százalék jelre (%) és két hexa számra cserélt, és a szóközök helyén plusz jelek (+) állnak.
Ez az a kódolási forma, amivel a kérdőívekkel küldött adatok a weben közlekednek, azaz az application / x-www-form-urlencoded média típus.
Ez annyiban különbözik az RFC1738 kódolástól (rawurlencode()), hogy történelmi okok miatt a szóközök itt plusz (+) jelekké alakulnak.
Ez a függvény kényelmes lehetőséget ad arra, hogy az URL kérdőjel utáni részébe írjunk, változókat átadva a következő oldalnak:
Példa 1. urlencode() példa
echo 'a href="ujoldal.php?ize=', urlencode($valtozo),' "';
Figyelem:
Vigyázz az olyan változókkal, amelyek neve HTML entitások nevével kezdődik.
Az olyan karaktersorozatokat, mint amp, copy és pound a böngészők lecserélik a megfelelő entitásra, és nem a várt eredményt kapod.
Ez egy nyilvánvaló probléma, amire a W3C már évekkel ezelőtt felhívta a figyelmet.
A referencia itt olvasható: http: / /www.w3.org / TR / html4 / appendix / notes.html#h-B.2.2.
A PHP támogatja a paraméter-elválasztó karakter megváltoztatását, a W3C által javasolt pontosvesszőre, az arg_separator nevű .ini beállítással.
Sajnálatosan a legtöbb böngésző nem támogatja ezt az elválasztókaraktert.
Egy hordozhatóbb módszer az amp; használata az karakter helyett elválasztóként.
Így nem kell megváltoztatnod a PHP arg_separator beállítását sem.
Hagyd ezt értéken, de használd az URL kódoláshoz a htmlentities() (urlencode($adat)) módszert.
Példa 2. urlencode / htmlentities() példa
echo 'a href="ujoldal.php?ize=', htmlentities(urlencode($valtozo)),' "';
Lásd még: urldecode(), htmlentities(), rawurldecode() és rawurlencode()!
Előző
Tartalom
Következő
Fel
Változókkal kapcsolatos függvények