Retour à la ligne dans un texte sur mysql

Résolu/Fermé
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 7 janv. 2011 à 18:03
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 8 janv. 2011 à 12:11
Bonjour,

J'enregistre un texte via un formulaire. Dans le texte, il y a des retour à la ligne. Dans la base, le texte est correctement enregistré, et y apparaît ainsi :

uuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu


Mais quand il ressort sur ma page web, il apparaît sur une seule ligne. Les retours à la ligne ont fait place à un espace :

uuuuuuuuuuuuuuuu uuuuuuuuuuuuuuu uuuuuuuuuuuuuuuuuuuu


J'ai essayé $val = nl2br($val); ou encore $val = preg_replace('/\n(\r)?/', '<br />', $val); mais c'est pareil ............

Merci à ceux qui pourront m'éclairer.

4 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
7 janv. 2011 à 18:44
Salut.
Quel est le code complet (sans le mot de passe évidemment) ?
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
Modifié par t671 le 7/01/2011 à 19:07
Le script de saisi :

<FORM ACTION="add_article.php" METHOD="POST" ENCTYPE="multipart/form-data" value="envoyer" name="soumettre"> 
<INPUT TYPE=HIDDEN NAME=MAX_FILE_SIZE VALUE=20000000> 
<input type="hidden" name="posted"> 

Commentaire sur l'article :<br> 
<textarea name="commentaire" id="texte" cols=54 rows=5></textarea><br> 
</FORM>


Le script d'insertion dans la base :

................. 
............... 
$texte = $_POST['commentaire']; 

//---------Rendre les liens cliquables----------------- 
$texte = eregi_replace("([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+)", "<A HREF=\"mailto:\\1\">\\1</A>", $texte); 
$texte = eregi_replace("([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])", 
"<A HREF=\"\\1://\\2\\3\" TARGET=\"_blank\">\\1://\\2\\3</A>",$texte); 
.............................. 
............................ 
$sql2 = "INSERT INTO article(idliaison, commentaire) VALUES('$id', '$texte')"; 
mysql_query($sql2) or die('Erreur SQL !'.$req_fich.mysql_error());  


Je t'ai mis que ce qui peut concerner ma question.
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
7 janv. 2011 à 20:11
Je ne vois rien d'anormal dans ce code.
Ça doit venir de celui de l'affichage.
Vérifie que tu stockes bien le résultat de nl2br() dans la variable que tu affiches.
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
8 janv. 2011 à 12:11
Merci, tu m'as mis sur la voie .............. ;o)
En effet, j'avais mal écrit le nl2br ! => avec echo nl2br($row['commentaire']); c'est ok ...............

A ++
0