Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1891 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP/HTML] probleme avec nl2br et textarea

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP/HTML] probleme avec nl2br et textarea

n°1006666
fal91
Posté le 09-03-2005 à 12:43:11  profilanswer
 

Bonjour !
 
j'ai un probleme avec nl2br(). D'après les tests que j'ai effectué, je me suis rendu compte que cela ajoutait (et non remplacait) la balise <br /> là ou il y a des "enter".
Je m'explique, si j'écrit dans la textarea cela:
 
test1
test2
test3
 
J'obtiendrai dans la BDD:
 
test1<br />
test2<br />
test3<br />
 
Alors qu'en fait, il me faudrait:
 
test1<br />test2<br />test3<br />
 
Donc j'aimerai savoir comment réelement supprimer le "enter".
Merci pour votre aide.
Là je craque !
 

mood
Publicité
Posté le 09-03-2005 à 12:43:11  profilanswer
 

n°1006757
cerel
Posté le 09-03-2005 à 13:47:19  profilanswer
 

Regarde du cote des expression regulieres ou du cote de str_replace.
Si jamais le charactere "saut de ligne" c'est "\n".
 
Sinon petite question, pkoi tu dois absolument effacer le charactere de retour saut de ligne ?  
Si tu ajoutes les br c'est bien parcequ'en html pour sauter un ligne il faut les br et que les \n ne sont pas prix en compte.

n°1006846
benamoubea​ch
tivuplai
Posté le 09-03-2005 à 14:31:22  profilanswer
 

je comprend pas comment dans la bdd tu peux avoir un affichage sur plusieurs lignes pck'a mon avis tu te sers de phpmyadmin qui donne un affichage sur 1 ligne des données
 
nl2br() ne doit pas se faire a l'insertion mais a l'affichage quand tu en as réellement besoin. Pour la base de données, insert les données non formatées avec nl2br()

n°1006928
fal91
Posté le 09-03-2005 à 15:12:25  profilanswer
 

@cerel:
Malheuresement, j'ai essayé "\n" avec str_replace() mais ca ne marche pas  :??: . Je dois obligatoirement effacer ce caractère car sinon mon script java (infobulle) ne marche pas (je veux faire 1 aperçu d'1 texte lors du survol d'1 titre, le <br> est interprété lorsqu'il n'y a pas de saut de ligne).Sinon en html, ca marche très bien.
 
@benamoubeach:
J'utilises bien phpmyadmin mais dans le champ qui m'interresse, là ou le texte est stocké, les "enter" sont pris en compte.
Je vais essayé nl2br a l'affichage mais je ne pense pas que cela va changer grand chose.
 
Merci pour votre aide

n°1006934
benamoubea​ch
tivuplai
Posté le 09-03-2005 à 15:17:34  profilanswer
 

Il faut bien comprendre
nl2br() remplace les \n qui sont "générés" quand tu t'appuis sur enter par <br/>, tout simplement. Si par exemple tu voulais afficher qqchose saisit dans une textarea dans une autre textarea et pour ke ca ait le meme format, tu n'aurais pas besoin de nl2br() pcke les sauts de lignes seraient automatiquement interprétés. Si ton truc met les sauts de ligne + les <br/>, ca veut ptet dire que t'as pas besoin des </br> et donc de nl2br(). M'enfin c mon avis . C bizarre pcke g jms eu de probleme de ce style, c un d trucs les lpus simples...

n°1006994
fal91
Posté le 09-03-2005 à 16:17:34  profilanswer
 

J'ai bien compris ce que faisai nl2br().  La j'ai refait des tests, avec nl2br() à l'affichage (le resultat est stocké dans une variable qui est ensuite le paramètre d'une fonction javascript AfficherBulle('$variable') ) et ca ne marche toujours pas :( .  
 
Ah ! j'ai enfin trouvé une solution mais je ne la comprends pas ! J'ai mis des str_replace("\n", "<br>",$montexte) puis str_replace("\r", "<br>",$montexte) à l'affichage. Et la je me suis rendu compte que cela marchait sur des anciennes entrées que je stockai directement modifiées avec les memes str_replace (j'avais fait 1 test avec \n puis \r). Mais le truc bizarre c'est que ca marchait avec \n a l'affichage (stocké avec \r) et \r a l'affichage (stocké avec \n)  :pt1cable:  :pt1cable:  :pt1cable: .
 
donc finalement
$vtest=$resultat["texte"][$j];
$vtest2 = str_replace("\n", "", $vtest);
$test = str_replace("\r", "<br>", $vtest2);  
 
bref à n'y rien comprendre ... Peut etre que cela vient du script java aussi mais j'ai 1 peu de mal à en décoder certains :(

n°1007022
soju
One shot !
Posté le 09-03-2005 à 16:31:47  profilanswer
 

fal91 a écrit :

donc finalement
$vtest=$resultat["texte"][$j];
$vtest2 = str_replace("\n", "", $vtest);
$test = str_replace("\r", "<br>", $vtest2);


 
il serait plus logique de faire :

Code :
  1. $test = str_replace("\r\n", "<br />", $vtest);


 
non ?

n°1007041
fal91
Posté le 09-03-2005 à 16:53:33  profilanswer
 

lol
 
Bah disons que j'ai fait des milliards de test aujourd'hui donc j'ai jonglé pas mal avec les lignes.
Et puis je suis grave débutant donc j'aime bien voir chaque ligne une par une, l'optimisation de code c'est pour plus tard quand j'aurai atteint le niveau  :jap: eheheheheh


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP/HTML] probleme avec nl2br et textarea

 

Sujets relatifs
Problème de Méta Modélisation[Java] Probleme d'applet avec un package sous eclipse
pb avec l'identification PHP[PHP / HTML] Antileech pour forum
[delphi] afficher le code source d'une page html ?[ PL/SQL ] Probleme en PL/SQL interfacé à du JDBC
Récupération de variable PHPprobleme d'héritage
Probleme datagrid + recordset => signets .... 
Plus de sujets relatifs à : [PHP/HTML] probleme avec nl2br et textarea


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR