[mode newbee on] comment afficher un texte avec sauts de ligne[off]

comment afficher un texte avec sauts de ligne[off] [mode newbee on] - PHP - Programmation

Marsh Posté le 26-07-2002 à 23:09:51    

Voilà, je suis toujours en train de finir mon livre d'or en php, et je me retrouve confronté au truc suivant lol :
 
Je me sers d'un formulaire pour entrer un texte, et quand je l'affiche (via une variable donc $texte), quand je fais echo $texte; ça ne saute pas à la ligne (ça prend pas les séquences d'échappement (1310 en ASCII). Pk ? Et quoi faire ??
 
Exemple :
 
je suis  
bourré !
 
 
me donne :
 
je suis bourré !  
 
Help car je suis pas loin de terminer mon script  :pt1cable:

Reply

Marsh Posté le 26-07-2002 à 23:09:51   

Reply

Marsh Posté le 26-07-2002 à 23:15:52    

en HTML c'est <br> un saut le ligne (<br /> en XHTML)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 26-07-2002 à 23:19:30    

Oui ça je sais lol !
 
Donc, il faut que je remplace dans ma chaine de caractères tous les \r\n par "<br>" c'est bien ça ?  :)  
 
PS : merci de m'aider  ;)

Reply

Marsh Posté le 26-07-2002 à 23:21:30    

Je suppose oui... Mais je suis quasi sûr qu'il y a une fonction qui le fait automatiquement...


Message édité par antp le 26-07-2002 à 23:21:48

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 26-07-2002 à 23:24:25    

str_replace non ?
 
Genre : $chaine = str_replace("truc à virer","truc à mettre à la place ",$chaine);
 
C'est ça ?  :wahoo:

Reply

Marsh Posté le 26-07-2002 à 23:24:54    

non plus simple, br2html ou un truc du genre


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 26-07-2002 à 23:28:20    

Reply

Marsh Posté le 26-07-2002 à 23:32:56    

Super merci, ça marche (ma soluce aussi, mais plus compliquée lol)...
 
Tu sais comment je faisais  :lol: ?
 
Je faisais une boucle for... et je remplaçais tous les \n\r par des <br> mouhahaha  ;)  
 
Je débute lol...

Reply

Marsh Posté le 26-07-2002 à 23:58:51    

:D


Message édité par LexTuhor le 26-07-2002 à 23:59:22
Reply

Marsh Posté le 27-07-2002 à 00:01:38    

nl2br()


---------------
༼ つ ◕_◕ ༽つ
Reply

Marsh Posté le 27-07-2002 à 00:01:38   

Reply

Marsh Posté le 27-07-2002 à 00:02:54    

THE REAL SMILEY a écrit a écrit :

nl2br()




 
tu es 33 minutes en retard :p


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 27-07-2002 à 00:04:35    

antp a écrit a écrit :

 
 
tu es 33 minutes en retard :p




ouh la, en effet, je truvais ça bizard que personne n'avait répondu correctement au bout d'une 10aine de posts :/


Message édité par THE REAL SMILEY le 27-07-2002 à 00:04:59

---------------
༼ つ ◕_◕ ༽つ
Reply

Marsh Posté le 27-07-2002 à 00:13:21    

Fallait le temps que je retrouve la fonction :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 27-07-2002 à 03:33:33    

Puisqu'on en est à parler de choses et d'autres  :D , kiki connait un moyen de trouver les mots contenus dans une chaine contenant x caractères (x --> INT).
 
J'explique :
 
Dans mon livre d'or, si j'écris un mot de 250 lettres, ça m'explose tout mon zoli graphisme, et savez quoi ?? Je viens de tester sur pleins de chti livres d'or offerts sur le net, et ben c pareil  :D ils explosent tous... Mais pas le forum HFR.  
 
kikidonc a la solution ?  ;)  :D

Reply

Marsh Posté le 27-07-2002 à 04:28:53    

www.nexen.net, cherche dans la doc...


---------------
Mon blog de nerd...
Reply

Marsh Posté le 27-07-2002 à 04:55:06    

J'ai un peu commencé par là en fait... Et j'arrive pas à dormir tellement ça me prend la tête... M'enfin, j'va me coucher, c l'heure lol (5h00 am)
 
Et rien dans nexen, pas de fonction dédiée à la détection de mots longs.
 
Conclusion : je suis en train de faire ma propre fonction, et c pas simple...  :ouch:  
 

Reply

Marsh Posté le 27-07-2002 à 05:01:15    

Et d'ailleurs, le forum de nexen n'est pas protègé non plus contre les longs mots MDRRRRRRRR !
 
 :lol:  :lol:

Reply

Marsh Posté le 27-07-2002 à 05:01:49    

UUUUUUUUUUUUUUUUUNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSSSSSSSSSSSSSUUUUUUUUUUUUUUUUUUUUUUUUPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPEEEEEEEEEEEEEEEEEEEEEEEEEEERRRRRRRRRRRRRRRRRRRRRRRRRRRRLLLLLLLLLLLLLLLLLLLLLLLLLOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGGGGGGGGGGGGGGGGGMMMMMMMMMMMMMMMMMMMOOOOOOOOOOOOOOOOOOOOOTTTTTTTTTTTTTTTTT ! ;)
 

Reply

Marsh Posté le 27-07-2002 à 11:18:24    

ce forum-ci non plus n'a pas l'air protégé :heink: :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 27-07-2002 à 14:47:14    

mon mien il l est ( enfin je crois :D )

Reply

Marsh Posté le 27-07-2002 à 14:48:10    

Reply

Marsh Posté le 27-07-2002 à 14:50:44    

$message=preg_replace("/[a-z0-9:<>]{[g]50[/g]}/i","\\0<br>",$message);


 
voila le code :D tous les 50 carractere d un meme mot --> saut de ligne !


Message édité par j-'-r le 27-07-2002 à 14:51:49
Reply

Marsh Posté le 27-07-2002 à 14:54:02    

Faudra le dire à Joce :D
 
À un moment il y avait ce système de découpe ici aussi il me semble, mais je ne sais pas pourquoi ça a été désactivé...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 27-07-2002 à 15:29:29    

sans doute a cause des longues url
en effet si tu mets un lien de plus de 5 carractere : c DTC

Reply

Marsh Posté le 27-07-2002 à 16:41:29    

ça doit aussi pouvoir se détecter les URL...  ;)  
 
Sinon, voilà comment je fais lol...  
 
$message = "faisons un test graaaaaaaaaaaaaaaaaddddddddduuuuur nature lol";
$lgmess = strlen($message);
$crcmax = 15;
 
$cpt = 0;
 
$mot = split(" ",$message);
while ($mot[$cpt] != "" ){
   if(strlen($mot[$cpt]) > $crcmax){
   $nvmot = chunk_split ($mot[$cpt], $crcmax, " <br> " );
   $message = str_replace($mot[$cpt], $nvmot, $message);
                }
   $cpt++;        
       }    
           
echo $message;
 
 
C un peu plus long  :lol:

Reply

Marsh Posté le 28-07-2002 à 00:03:53    

LexTuhor a écrit a écrit :

Puisqu'on en est à parler de choses et d'autres  :D , kiki connait un moyen de trouver les mots contenus dans une chaine contenant x caractères (x --> INT).
 
J'explique :
 
Dans mon livre d'or, si j'écris un mot de 250 lettres, ça m'explose tout mon zoli graphisme, et savez quoi ?? Je viens de tester sur pleins de chti livres d'or offerts sur le net, et ben c pareil  :D ils explosent tous... Mais pas le forum HFR.  
 
kikidonc a la solution ?  ;)  :D  




 
 
Alors, a genou, je te donne la pitite commade :D
$texte=wordwrap( $texte, 100 , "<br>" , 1);
 
Alors,  [:huit]  ca decoupe la variable $txt, tous les 100 charactere, par "<br>" (mais tu peut mettre un /n) et le 1 sert a specifier si le dernier mots de la ligne doit etre decoupe ou non (1--> decoupe!)
 
 [:blueflag]


Message édité par Castor666 le 28-07-2002 à 00:06:12

---------------
Mon blog de nerd...
Reply

Marsh Posté le 28-07-2002 à 00:09:30    

En css, je suppose que ton graphisme est fais avec un tableau et donc qui est "coter" avec des pixel alors fais sa en css
 
TABLE {word-break: break-all; }

Reply

Marsh Posté le 28-07-2002 à 00:38:29    

tain, 26 posts sur un tomik comme ça...

Reply

Marsh Posté le 28-07-2002 à 00:39:03    

ca marche ca  :??:


---------------
Mon blog de nerd...
Reply

Marsh Posté le 28-07-2002 à 03:34:45    

castor666 a écrit a écrit :

 
 
 
Alors, a genou, je te donne la pitite commade :D
$texte=wordwrap( $texte, 100 , "<br>" , 1);
 
Alors,  [:huit]  ca decoupe la variable $txt, tous les 100 charactere, par "<br>" (mais tu peut mettre un /n) et le 1 sert a specifier si le dernier mots de la ligne doit etre decoupe ou non (1--> decoupe!)
 
 [:blueflag]




 
Marche pas ton truc  :D  
 
ça sert juste à découper une chaine de caractères tous les x caractères. Relis l'énoncé du problème : il s'agissait de découper seulement les mots présents dans une chaine avec un nbr de caractères supérieurs à x  ;)  
 
Et la meilleure solution a été donnée, c'est :
 

$message=preg_replace("/[a-z0-9:<>]{50}/i","\\0<br>",$message);


 
(merci à J-'-R  ;) )

Reply

Marsh Posté le 28-07-2002 à 05:23:22    

mouai.. :heink:  
 
Mais ca marche aussi...


---------------
Mon blog de nerd...
Reply

Marsh Posté le 28-07-2002 à 10:46:31    

Salut,
 
Bon j'ai déjà eu ce problème sous Java, ma solution c'est d'ajouter une balise <PRE> avant ton texte et une </PRE> après.
 
Cette balise HTML te permet de conserver la mise en forme du source, du coup les espaces et les sauts de ligne apparaissent alors qu'ils sont invisibles sans cette balise. <PRE> est utilisé en particulier pour afficher la pile d'appel des méthodes en Java (méthode printStackTrace() de Exception), pour conserver l'indentation, autrement c'est illisible...
 
Voilà, dis-moi si ça marche comme ça
 
 :hello:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed