Posez votre question Signaler

[PHP] str_replace et les sauts de ligne

xcC - Dernière réponse le 26 janv. 2010 à 17:31
bonjours

voilà:

<input name="str1"><input name="str2">

$replace = str_replace(stripslashes($str1),stripslashes( $str2), "salut-voilà un texte d'exemple-avec de tiret");

donc si je fait dans le formulaire str1 = - et str2 = \n
ça me donne
salut\nvoilà un texte d'exemple\navec de tiret
et pas
salut
voilà un texte d'exemple
avec de tiret

si quelqu'un pourrait m'aider s'il vous plait
ps: j'ai testé \r\n aussi mais toujours pareil :s
Lire la suite 

[PHP] str_replace et les sauts de ligne »

4 réponses
Réponse
+1
moins plus
Vouich, <br> pour un saut de ligne dans uen présentation de page html, et \n pour un saut de ligne de texte (qui ne se verra poas dans une page html présentée mais dans la source de la page, ou dans une page purement textuelle).

Quand on envoie \n dans un formulaire, le caractère spécial de saut de ligne n'est pas interpété, tu auras juste un antislash et un n.

Pour pallier à ça tu peux remplacer les '\n' par des "\n" (en php, les guillemets simples ne cherchent pas les caractères spéciaux, à l'inverse des guillemets doubles):
str_replace('\n',"\n",$expression)
KL - 26 janv. 2010 à 17:31
La solution est :

$content = str_replace(CHR(10),'\n',$content);
$content = str_replace(CHR(13),'\n',$content);
Ajouter un commentaire
Réponse
+0
moins plus
s'il vous plait!

personne n'a une idée?
Ajouter un commentaire
Réponse
+0
moins plus
Essayes plutôt de mettre <br> au lieu de \n.
Ajouter un commentaire
Ce document intitulé « [PHP] str_replace et les sauts de ligne » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?