comment afficher un texte avec sauts de ligne[off] [mode newbee on] - PHP - Programmation
Marsh Posté le 26-07-2002 à 23:15:52
en HTML c'est <br> un saut le ligne (<br /> en XHTML)
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
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...
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 ?
Marsh Posté le 26-07-2002 à 23:24:54
non plus simple, br2html ou un truc du genre
Marsh Posté le 26-07-2002 à 23:28:20
nl2br
http://dev.nexen.net/docs/php/anno [...] tion.nl2br
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 ?
Je faisais une boucle for... et je remplaçais tous les \n\r par des <br> mouhahaha
Je débute lol...
Marsh Posté le 27-07-2002 à 00:02:54
THE REAL SMILEY a écrit a écrit : nl2br() |
tu es 33 minutes en retard
Marsh Posté le 27-07-2002 à 00:04:35
antp a écrit a écrit : tu es 33 minutes en retard |
ouh la, en effet, je truvais ça bizard que personne n'avait répondu correctement au bout d'une 10aine de posts
Marsh Posté le 27-07-2002 à 00:13:21
Fallait le temps que je retrouve la fonction
Marsh Posté le 27-07-2002 à 03:33:33
Puisqu'on en est à parler de choses et d'autres , 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 ils explosent tous... Mais pas le forum HFR.
kikidonc a la solution ?
Marsh Posté le 27-07-2002 à 04:28:53
ReplyMarsh 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...
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 !
Marsh Posté le 27-07-2002 à 05:01:49
UUUUUUUUUUUUUUUUUNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSSSSSSSSSSSSSSSSSSSSSSSUUUUUUUUUUUUUUUUUUUUUUUUPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPEEEEEEEEEEEEEEEEEEEEEEEEEEERRRRRRRRRRRRRRRRRRRRRRRRRRRRLLLLLLLLLLLLLLLLLLLLLLLLLOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNGGGGGGGGGGGGGGGGGGGGGGMMMMMMMMMMMMMMMMMMMOOOOOOOOOOOOOOOOOOOOOTTTTTTTTTTTTTTTTT !
Marsh Posté le 27-07-2002 à 11:18:24
ce forum-ci non plus n'a pas l'air protégé
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 tous les 50 carractere d un meme mot --> saut de ligne !
Marsh Posté le 27-07-2002 à 14:54:02
Faudra le dire à Joce
À 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é...
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
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
Marsh Posté le 28-07-2002 à 00:03:53
LexTuhor a écrit a écrit : Puisqu'on en est à parler de choses et d'autres , 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 ils explosent tous... Mais pas le forum HFR. kikidonc a la solution ? |
Alors, a genou, je te donne la pitite commade
$texte=wordwrap( $texte, 100 , "<br>" , 1);
Alors, 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!)
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; }
Marsh Posté le 28-07-2002 à 03:34:45
castor666 a écrit a écrit : Alors, a genou, je te donne la pitite commade $texte=wordwrap( $texte, 100 , "<br>" , 1); Alors, 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!) |
Marche pas ton truc
ç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 )
Marsh Posté le 28-07-2002 à 05:23:22
ReplyMarsh 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
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