traitement tabulations

Invité
Invité n'ayant pas de compte PHPfrance

25 oct. 2008, 22:28

Bonjour a tous,
J'utilise mysql pour passer des parametres a une fonction javascipt.
Je me suis rendu compte que les caracteres de tabulation dans les donnees mysql, notamment \n, generent une erreur 'unterminated string littelal' dans la fonction js.

Mon premier reflexe a ete de remplacer les \n par un espace en faisant ceci:
str_replace("\n"," ", $string);
Ca ne marche pas.
savez vous comment je devrais traiter mes resultats sql pour que la fonction js accepte les donnees?
Merci pour vos reponses.

ViPHP
ViPHP | 4674 Messages

26 oct. 2008, 00:20

Hey :),

Quand on parle de tabulation, on pense surtout à \r, car — précisons le — \n est un retour à la ligne.

Je n'ai jamais rencontrer ton problème mais je vais y aller naïvement : as-tu échapper les guillemets ? Un truc du genre : addslashes() par exemple. Ou sinon, as-tu chercher cette erreur dans un moteur de recherche (au pif, Google).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Mammouth du PHP | 959 Messages

26 oct. 2008, 00:28

Et ça ?
$replace = array("\n", "\r");
str_replace($replace,' ', $string);
? :)

Invité
Invité n'ayant pas de compte PHPfrance

26 oct. 2008, 11:43

merci pour vos conseils.
J'ai toujours l'erreur. ce qui est bizarre c' est que si je remplace '\n' par 'xxx' directement en sql sur les champs de la table concernee, ma fonction js fonctionne...

ViPHP
ViPHP | 4674 Messages

26 oct. 2008, 12:09

Et on peut le résultat de sortie ? Ton code ? On n'a pas beaucoup d'informations pour t'aider, pas suffisamment en tout cas.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).