urlencode

urlencode -- Koduje łańcuch metodą kodowania URLi

Opis

string urlencode ( string str)

Zwraca łańcuch w którym wszystkie nie alfanumeryczne znaki z wyjątkiem

 
-_

 
.



zostały zastąpione przez dwie cyfry szesnastkowe poprzedzone znakiem procenta ( % ), a spacje kodowane są jako znak ( + ). To kodowanie jest takie same jak wykorzystywane przy przesyłaniu danych z formularzy WWW, tj. takie samo jak w media typie: application/x-www-form-urlencoded . Różni się od kodowania z RFC1738 (zobacz rawurlencode() ) tym, że z powodów historycznych, spacje są kodowane jako znak plus (+). Funkcja ta jest odpowiednia do zakodowania łańcucha używanego w zapytaniu URL oraz jako zmienna przekazywana do następnej strony:

Przykład 1 . urlencode( ) przykład






Notka : Uważaj na zmienne , które mogą zawierać HTML ' owe encje . Rzeczy jak amp , copy i pound przetwarzane przez przeglądarkę i ich aktualna postać jest używana dalej zamiast porządanej nazwy zmiennej . To jest oczywisty problem , o którym W3C informuje ludzi od lat . Referencje tutaj : http : / /www.w3.org / TR / html4 / appendix / notes.html#h-B.2.2 Referencje tutaj : http : / /www.w3.org / TR / html4 / appendix / notes.html#h-B.2.2 PHP obsługuje zmianę separatora argumentów na zalecany przez W3C średnik poprzez dyrektywę arg_separator .ini . Niestety większość przeglądarek nie wysyła danych z formularza w formacie używającym średnik jako separator . Bardziej przenośnym rozwiązaniem jest użycie amp ; jako separatora zamiast . Nie musisz zmieniać PHP ' owego arg_separator aby to uzyskać . Zostaw separator jako , ale koduj swoje URL' e używając htmlentities( ) (urlencode($data) ) .

Przykład 2 . urlencode / htmlentities( ) przykład






Patrz także : urldecode( ) , htmlentities( ) , rawurldecode( ) , rawurlencode( ) .