[Javascript/php/sql] Method get, encodage url

Fermé
Protocteur - 3 mai 2007 à 20:48
 Fred - 14 nov. 2007 à 15:19
Bonjour, j'ai un pb assé bordelique :p et je sais plus quoi penser donc en résumé :

j'ai un text, comprenant des retour chariot/nouvelle ligne (jvoi pa trop la differance fondamental on dira :p)

je veu le faire passer dans une bdd sql, ainsi j'ai créé un formulaire, et dedan un textarea, a partir de la chose étrange vous me direz :p mais je fai passer les info par du javascript pour finalement faire passer les info dans l'url, pour finalement récuperer en php avec du $_GET, puis envoyer dans sql, lensemble des language fonctionnent deja ensemble, le seul pb, est qu'apparament, les retour chariot/nouvelle ligne ne passe pas dans l'url, moralité quand je le recupere sous flash (mdr tien un truc en plus !) en passan par du php ki créé un xml, mon text est tout moche sans saut de ligne etc

enfin ce long résumé pour dire, j'ai aucune idée de la maniere d'encoder \r ou \n dans l'url, sachan que les truc abituel comme escape() de js, ou urlencode de php, ne prenent pas en compte ces derniers, j'ai bien pensé au replace(ch1,ch2) mais je sais pa commen detecter le charactère \r ou \n ya ptete moyen en cherchan dans la chaine le code ascii je pense, mai la aussi je sais pa commen definir sa dans replace(....) donc voila je suis mort a force de chercher beaucoup de sujet traite vaguement d'une partie de mon pb sans l'autre finalement je trouve de réponse nul par :p

alors un grand merci d'avance si vous avez une solution :)
A voir également:

1 réponse

J'ai eu la même problématique dans des scripts mélangeant du javascript/perl ... et voulant passer les champs par méthode get dans l'url.
Il te suffit de substituer le \r\n par soit du html (<br>) ou par une chaine de caractères à retranscrir à l'autre bout.

En prenant que val est la valeur de ton texte

Dans ta 1ere page tu mets un javascript du genre :
val = val.replace(/\\r/g, "<br>");
val = val.replace(/\\n/g, "");

Et tu obtiens donc des \r\n en html (<br>) codés en dur dans le texte


ou bien tu substitues par une chaine ex :
val = val.replace(/\\r/g, "#CHARRET#");
val = val.replace(/\\n/g, "");

et à l'autre bout, tu re-substitue les #CHARRET# par des \r\n ...
2