BBCode vers html problème avec <br> [PHP] - PHP - Programmation
Marsh Posté le 18-08-2004 à 20:57:54
nl2br()
Marsh Posté le 18-08-2004 à 21:06:03
Merci mais ke dois-je en faire ?
désolé je suis pas très callé en php...
Marsh Posté le 18-08-2004 à 21:38:19
Code :
|
Marsh Posté le 18-08-2004 à 22:48:57
ou quelque chose comme ca :
$msg=preg_replace("/\n/",'<br/>',$msg);
Marsh Posté le 18-08-2004 à 23:09:34
MrFredG a écrit : ou quelque chose comme ca : |
C'est la meilleure soluution pour l'intégrer en continuité du reste.
Marsh Posté le 18-08-2004 à 23:11:53
.... vraiment n'importe quoi
Marsh Posté le 18-08-2004 à 23:17:34
en utilisant preg_replace sur des array() ca devient intéressant et clair. Or c 'est généralement le cas quand on traite du bbcode.
Marsh Posté le 18-08-2004 à 23:22:07
les regexs sont super gourmandes en terme de ressource! C'est complétement stupide de le traiter avec des regex alors qu'une fonction simple et optimisée est dédiée à ce traitement....
Marsh Posté le 18-08-2004 à 23:28:53
sauf qu'on traite tout avec une seule instruction dans ce cas la.
Marsh Posté le 19-08-2004 à 00:12:37
simogeo a écrit : les regexs sont super gourmandes en terme de ressource! C'est complétement stupide de le traiter avec des regex alors qu'une fonction simple et optimisée est dédiée à ce traitement.... |
Apparement tu ignore comment un certain nombre de forums (dont celui-ci d'ailleurs) font par afficher tes posts ...
Marsh Posté le 20-08-2004 à 11:32:49
J'ai une petite question en rapport avec le bbcode moi aussi
Je voudrais savoir en fait comment on fait, au niveau des boutons, pour que quand on clique une fois sur un bouton il insère [*img] et quand on rappuie il insère [*/img].
Marsh Posté le 20-08-2004 à 12:29:07
simogeo a écrit : les regexs sont super gourmandes en terme de ressource! C'est complétement stupide de le traiter avec des regex alors qu'une fonction simple et optimisée est dédiée à ce traitement.... |
en php je sais pas, mais en perl, les regexp c pas mal dans squia de plus performant pour faire ce genre de truc
Marsh Posté le 20-08-2004 à 13:38:52
En attendant un str_replace est toujours plus rapide qu'une regexp
Marsh Posté le 20-08-2004 à 15:43:51
Gilbert Gosseyn a écrit : Apparement tu ignore comment un certain nombre de forums (dont celui-ci d'ailleurs) font par afficher tes posts ... |
Oui les regex sont indispensables pour l'ubb code ... mais pour transformer les saut de ligne en <br /> faut vraiment être manche pour le coder de la sorte
Marsh Posté le 20-08-2004 à 16:21:25
[troll]t'es sur un JoceForum ca te suffit pas?[/troll]
Marsh Posté le 20-08-2004 à 16:59:44
nl2br bordel
ptain vous avez une fonction spécialisée pour le faire et vous la laissez de côté
Marsh Posté le 20-08-2004 à 17:49:07
drasche a écrit : nl2br bordel |
Y aura toujours des gens pour réinventer l'eau chaude, que veux tu
Citation : Je voudrais savoir en fait comment on fait, au niveau des boutons, pour que quand on clique une fois sur un bouton il insère [*img] et quand on rappuie il insère [*/img]. |
C'est du javascript ça. J'avais fait un tableau avec les types de balises comme clés et en fonction du contenu j'affichais la balise ouvrante ou fermante
Marsh Posté le 20-08-2004 à 19:28:55
simogeo a écrit : |
Code :
|
...
Marsh Posté le 20-08-2004 à 19:53:16
tu commences a me saouler toi . T'essaies de me prouver quoi exactement ? Que tu sais te servir des regexs? Qu'il est possible de transformer un saut de ligne en br a coups de regex?
Marsh Posté le 20-08-2004 à 20:40:03
Non il te dit que dans ce cas precis un preg_replace sur array() unique est plus rapide que de coupler un preg_replace sur array() + 1 nl2br()
C'est dingue d'être insultant comme ca quand on a tord.
Marsh Posté le 20-08-2004 à 20:54:06
Ce qui est dingue, c'est de voir des gens réfuter la logique pure qu'un simple nl2br est plus rapide qu'un preg_replace.
Je viens de faire le test sur une page de mon site: le couple preg_replace+nl2br est plus rapide que le preg_replace tout seul (j'ai repris le bout de code de Gilbert pour faire ce test).
Pour moi ce résultat est parfaitement logique.
Marsh Posté le 20-08-2004 à 21:06:05
ok au temms pour moi ca ne me semblait pas si évident que ca dans ce cas de figure la.
Marsh Posté le 20-08-2004 à 21:07:33
Bin si: nl2br est une fonction dédiée à une seule tâche, t'as même pas à spécifier de paramètre, alors que preg_replace est beaucoup plus générique. Logiquement, nl2br va faire son boulot plus vite
Marsh Posté le 20-08-2004 à 21:10:18
MrFredG a écrit : ok au temms pour moi ca ne me semblait pas si évident que ca dans ce cas de figure la. |
renseignes toi sur le fonctionnement d'un moteur de regex.
et cesse d'être insultant comme ca quand tu as tort.
Marsh Posté le 20-08-2004 à 22:19:09
simogeo a écrit : tu commences a me saouler toi . T'essaies de me prouver quoi exactement ? Que tu sais te servir des regexs? Qu'il est possible de transformer un saut de ligne en br a coups de regex? |
Simplement qu'il est tout a fait malin de profiter des array de transformation de bbcodes pour s'oiccuper en même temps des retours chariot et/ou de ligne. Ca ne va pas plus loin.
Marsh Posté le 20-08-2004 à 22:22:32
je sens qu'on part dans un grand débat
perso je vais pas utiliser un canon pour tuer une mouche
Marsh Posté le 20-08-2004 à 22:42:08
Ceci est intéressant : http://fr.php.net/manual/fr/function.nl2br.php
Particulièrement ce passage :
Citation : CK1 at wwwtech dot de |
Or, quand je lis l'explicatif de la fonction, je vois que la fonction nl2br() ne s'occupe que des \n et zappe (apparement) les \r ...
Edit : je vais quand même tester (pas sur de moi la ...)
Edit bis > ah ben non j'avais tord : la fonction parse bien les deux trucs.
Marsh Posté le 18-08-2004 à 20:57:13
Bonjour,
J'ai fait un script pour transformer du BBCode vers html.
Mais il me reste un problème à régler : comment faire pour que les "à la ligne" soient transformer en <br> ??
Merci
extrait du script :