Loading:

Mikołajkowa promocja 3za2 - w tym roku przygotuj większą skarpetę!

urlencode
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

<?php
echo '<a href="mycgi?foo=', urlencode($userinput), '">';
?>

 


Notka: Uważaj na zmienne, które mogą zawierać HTML'owe encje. Rzeczy jak &amp, &copy i &pound są 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 są 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()lub htmlspecialchars().

 

//Przykład #2 urlencode() i htmlentities() przykład
<?php
$query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo '<a href="mycgi?' . htmlentities($query_string) . '">';
?>


Napisz Artykuł

Listing

niema


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=3&t=2308

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors