Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS/PHP] Problem z encodeURIComponent()
Forum PHP.pl > Forum > Przedszkole
tommy4
Mianowicie, przesyłam przez GET dane z textarea (może i głupi pomysł, ale muszę), no i korzystam z encodeURIComponent(), żeby zamienić wszystkie znaki specjalne na ich znaki kodowe. Problem pojawia się, gdy trzeba zmienić entera.

Na IE i operce zmienia się na:
%0D%0A
Natomiast na Firefoksie:
%0A

I tym sposobem, gdy potem wykorzystuję te dane, nie tworzy się nowa linia w polu tekstowym. :C Jakiś wayaround?
yaotzin
W sumie nie rozumiem pytania ale tak sobie zauważę że nowa linia to \n\r czyli skok o poziom niżej do nowej linii i powrót karetki zgodnie z zapisem który pokazałeś sprawdza się to tylko w Operze i w IE
%0D - 13 czylo enter
%0A - 10 czyli powrót karetki

w FF mamy tylko %0A - 10 czyli powrót karetki musisz ręcznie w skrypcie to poprawić najwidoczniej, tzn, dopisywać ten brakujący znak Chyba ?!? jest 2:44 i już nie wiem o co kaman, idę spać
tommy4
no co ty? string.replace zamienia w ff tylko pierwsze wystąpienie, nie wiem czemu ;x
Kicok
http://blatek.ma.ciekawe.info/javascript/ob_regexp.html

A dokładnie to poczytaj sobie o opcji/modyfikatorze: g
tommy4
już zrobiłem to w ciekawszy sposób:
  1. <?php
  2. $shout = urlencode($_GET['tshout']);
  3. $shout = ereg_replace("([^%0D])%0A", "1%0D%0A", $shout);
  4. $shout = urldecode($shout);
  5. ?>
neo1986kk
a co jeśli wysyłanie jest metodą POST?
encodeURIComponent
w tym momencie przesyła się w trybie textowym czyli
na przyklad a = rower;
encodeURIComponent(a) ---> encodeURIComponentrower
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.