PHP -> Funkcie -> URL funkcie PHP -> urlencode
Syntax
string urlencode(string str);
Popis
Príkaz jazyka PHP
urlencode -- URL-kódovat řetězec
Vrátí řetězec, ve kterém byly všechny nealfanumerické znaky kromě -_. nahrazeny znakem procent (%) následovaným dvěma šestnácktovými číslicemi a mezery kódovány jako znaky plus (+). Kódování je stejné jako u dat postovaných z WWW formuláře, tj. stejně jako u application/x-www-form-urlencoded typu. To se liší od RFC1738 kódování (viz rawurlencode) v tom, že z historických důvodů se mezery kódují jako znaky plus (+). Tato funkce je vhodná při kódování řetězce, který se má použít jako query část URL jako příhodný způsob předání proměnných na další stránku:
Príklad
echo '<A HREF="mycgi?foo=',
urlencode($userinput),
'">';
Poznámka: pozor při předávání proměnných, které by mohly odpovídat HTML entitám. Věci jako &, © a £ browser analyzuje a místo požadovaného jména proměnné použije odpovídající entitu. To je zřejmý problém, na který W3C upozorňuje už léta. Příručka je tady: http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2 PHP podporuje změnu oddělovače argumentů na středník doporučovaný W3C skrze .ini direktivu arg_separator. Bohužel, většina uživatelských programů neposílá data z formulářů v tomto formátu. Přenositelnější formou je použít jako oddělovač & místo &. Na to nemusíte měnit arg_separator. Nechte ho na &, ale kódujte URL pomocí htmlentities (urlencode($data)).
Pozri aj
urldecode