Problème retour chariot
18 messages
• Page 1 sur 2 • 1, 2
-

link182 - WRInaute occasionnel

- Messages: 474
- Inscription: 26 Juil 2005
Problème retour chariot
Bonjour à tous,
j'ai un petit problème avec les retour chariots. J'ai du texte stocké dans un champ d'une table Mysql, ex (notez le retour à la ligne) :
Quand je recupere cette string en php (string à passer en paramètre dans une fonction JS), cela me donne cela dans le code source :
Alors que je voudrais çà :
Le code JS n'est pas executé car il y va à la ligne après le mot "test", même en utilisant la fonction nl2br()... Quelqu'un à une petite idée (ça doit être un truc tout con mais je n'ai pas trouvé) ?
Merci

j'ai un petit problème avec les retour chariots. J'ai du texte stocké dans un champ d'une table Mysql, ex (notez le retour à la ligne) :
- Code: Tout sélectionner
Ceci est un test,
avec retour à la ligne
Quand je recupere cette string en php (string à passer en paramètre dans une fonction JS), cela me donne cela dans le code source :
- Code: Tout sélectionner
<a href="..." onclick="javascript:ma_function('Ceci est un test
avec retour à la ligne');
Alors que je voudrais çà :
- Code: Tout sélectionner
<a href="..." onclick="javascript:ma_function('Ceci est un test avec retour à la ligne');
Le code JS n'est pas executé car il y va à la ligne après le mot "test", même en utilisant la fonction nl2br()... Quelqu'un à une petite idée (ça doit être un truc tout con mais je n'ai pas trouvé) ?
Merci
-

ltressens - WRInaute impliqué

- Messages: 551
- Inscription: 2 Avr 2004
En remplaçant le retour chariot par un espace :
- Code: Tout sélectionner
$texte = strtr($texte, "\n", " ");
-

Fab le Fou - WRInaute passionné

- Messages: 1511
- Inscription: 2 Déc 2004
Tu peux faire quelque chose comme ça pour traiter le contenu de ton champ :
Attention, si ce sont des utilisateurs qui saisissent le contenu du champ car là je prend en compte le retour chariot uniquement avec windows.
Saur erreur, il s'agit uniquement de "\r"avec Mac et de "\n" avec linux.
- Code: Tout sélectionner
$tonchamp=str_replace("\r\n"," ",$tonchamp);
Attention, si ce sont des utilisateurs qui saisissent le contenu du champ car là je prend en compte le retour chariot uniquement avec windows.
Saur erreur, il s'agit uniquement de "\r"avec Mac et de "\n" avec linux.
-

serval2a - WRInaute accro

- Messages: 3457
- Inscription: 21 Mar 2005
Bonjour,
Je m'explique alors, quand je fais un bête textarea qui envoie des infos vers mysql, si je fais un retour à la ligne dans le texte il est bien affiché ainsi que tel dans la BDD toutefois quand je fais un appel php et un affichage il est collé, pour activer le retour à la ligne dans l'affichage je dois rajouter ereg_replace("\n","<br/>" avant le echo peut-être y a-t-il dans le code de link182 une fonction similaire qu'il suffit alors d'enlever.
Mais bon c'est surement une connerie.
@+
Je m'explique alors, quand je fais un bête textarea qui envoie des infos vers mysql, si je fais un retour à la ligne dans le texte il est bien affiché ainsi que tel dans la BDD toutefois quand je fais un appel php et un affichage il est collé, pour activer le retour à la ligne dans l'affichage je dois rajouter ereg_replace("\n","<br/>" avant le echo peut-être y a-t-il dans le code de link182 une fonction similaire qu'il suffit alors d'enlever.
Mais bon c'est surement une connerie.
@+
- oxman
- WRInaute discret

- Messages: 118
- Inscription: 21 Juin 2004
Tu mélanges deux choses, les retours à la ligne "textes", et les retours à la ligne "html".
Dans un texte les retours à la ligne sont à base de \n, \r, \r\n selon le système d'exploitation. Mais un retour à la ligne en html est écrit ainsi <br>
Et vu qu'il utilise ça dans du javascript, on parle bien de retours à la ligne "textes" et non de retour à la ligne "html".
Dans un texte les retours à la ligne sont à base de \n, \r, \r\n selon le système d'exploitation. Mais un retour à la ligne en html est écrit ainsi <br>
Et vu qu'il utilise ça dans du javascript, on parle bien de retours à la ligne "textes" et non de retour à la ligne "html".
-

link182 - WRInaute occasionnel

- Messages: 474
- Inscription: 26 Juil 2005
merci, ça marche bien pour
Par contre pour transformer un " en \", j'ai essayé ceci :
et ça ne semble pas marche, il doit y avoir un problème de double quote quelque part ...
- Code: Tout sélectionner
$tonchamp=str_replace(array("\r", "\n")," ",$tonchamp);
Par contre pour transformer un " en \", j'ai essayé ceci :
- Code: Tout sélectionner
$tonchamp=str_replace("\"", "\\"", ,$tonchamp);
et ça ne semble pas marche, il doit y avoir un problème de double quote quelque part ...
-

link182 - WRInaute occasionnel

- Messages: 474
- Inscription: 26 Juil 2005
merci à toi oxman, j'avais déja essayé mais cela ne marche pas.
Pour être plus clair, c'est un système de citation (forum) que j'essaye de faire. quand on clique sur "citer", cela doit copier le texte dans le textarea.
Pour cela j'utilise ma fonction Javascript suivante :
J'affiche comme ceci le message venu de ma requete :
Cela marche bien quand il y un quote, des retour chariots, mais pas des doubles quotes... voila
Pour être plus clair, c'est un système de citation (forum) que j'essaye de faire. quand on clique sur "citer", cela doit copier le texte dans le textarea.
Pour cela j'utilise ma fonction Javascript suivante :
- Code: Tout sélectionner
function citation(auteur, texte)
{
document.repondre_msg.message.value+='[quote="'+auteur+'"]'+texte.replace(/\\n/g,'\n')+'[/quote]\n';
document.repondre_msg.message.focus();
}
J'affiche comme ceci le message venu de ma requete :
- Code: Tout sélectionner
echo str_replace(array("\r"),"", str_replace(array("\n"),"\\\\n",($data['message']));
Cela marche bien quand il y un quote, des retour chariots, mais pas des doubles quotes... voila
18 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
