Retour à la ligne dans un texte sur mysql

Résolu
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   -  
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   -
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 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut.
Quel est le code complet (sans le mot de passe évidemment) ?
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
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 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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 1476 Date d'inscription   Statut Membre Dernière intervention   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