Expressions régulières ...
le 03/03/2005 à 19:22
Graal
C'est pas le BBCode qu'est pas bien, mais les REGEX
Vachement trop long (surtout POSIX) quand on ne sait pas les utiliser où quand on les utilise à des endroits où un strtr, ou un strpos, ou un strstr ou autres.
je pense que dans l'esprit de rex, mettre
au lieu de <b>, est plus fastidieux, la plupart des gens connaissant le html (s'ils sont sur ce site, un minimum quand meme ).
En effet:
si je connais le html, et que je code souvent en html, pourquoi je m'embette a mettre des '['&']' au lieu des '<' & '>' que j'ai pris l'habitude de mettre ??
Pourquoi donc ???? Parce qu'on utilise strip_tags() ??? Bah elle ne sert a rien, si on passe le tout a la moulinette du htmlspecialchars()...
on applique les memes fonctions de recherches de tag BB-Code, mais sur les tags html que l'on autorise.
si les tags sont autorisés, on laisse, sinon on converti...
Simplicité, on réinvente rien, il suffit de mettre la liste des tags autorisé, a la place des tag BB-code...
En fait, le BB-Code, c'est l'art de se faire ch### pour rien ^^
Enfin bon, je dis ca, mais a force de manipuler des tableaux en php, je connais bien les touche '[' et & ']', donc en soit, ca me gene pas tant que ca...
Mais je pense que ca rejoint plus ou moins l'idée de rex, qui avait déjà un peu explicité sont point de vu dans un autre post ^^
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
le 03/03/2005 à 22:38
Rex
Il existe 10 sorte de gens, ceux qui savent compter en binaire, et ceux qui ne savent pas.
Mais il y a aussi ceux qui connaissent le HTML et ceux qui ne connaissent pas.
1/ Si on utilise du BBCode
Le codeur HTML et l'autre doivent apprendre une syntaxe
2/ Si on utilise HTML
Uniquement celui qui ne connait pas HTML doit apprendre la syntaxe.
Ensuite, "[" et "]" sont plus difficile à taper au clavier que "<" et ">" (et encore, vous ne connaissez pas le clavier des Mac, c'est encore pire !)
Conclusion, ceux qui ont inventé les BBCode ne savaient pas faire des Regexp, ça n'apporte RIEN de plus qu'HTML et en plus ils nous pourrissent la vie avec des "altGr" à tout bout de champ ...
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
le 03/03/2005 à 23:16
Cart
ah tu es juste pas content a cause des [ , ] et ba :)
le coup du altgr c pour les claviers azerty
je pense que il n'ya qu'en france que ce type de clavier existe ( je me trompe surement)
en qwerty c accessible plus facilement que les < > ou il faut appuyer sur shift ( ue je te raconte pas c trop dur)
bref
geenralement quand un forum gere le bbcode il ya des boutons pour faciliter la vie de utilisateur alpha qui se fout royalement d'apprendre un language
maintenant va autoriser le html dans tes textareas car c plus facile d'apprendre le html si tu as po de probleme tu m'apelles :)
le 03/03/2005 à 23:23
Rex
T'as jamais vu un clavier de Mac on dirait.
Ensuite, les boutons, c'est bien quand on n'est pas handicapé et que le javascript est activé.
Maintenant, autoriser le HTML dans les textareas, je ne vois pas où peut être la difficulté en comparaison du BBCode ?
D'ailleurs, question quel est l'intérêt d'utiliser des crochets plutôt que des "<>" ?
Personnellement, je n'en vois absolument aucun ...
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
le 03/03/2005 à 23:35
Cart
autoriser le HTML:
dans le cas d'un forum tjs:
si un utilisateur marque son message et a la fin insere </div> ou </table> ou simplement <b> sans balise de fin cela affectera le reste du site
D'ailleurs, question quel est l'intérêt d'utiliser des crochets plutôt que des "<>" ?
Aucun c'est juste une methode a la mode ( phpbb invision power board etc.. etc.. )
maintenant on peut discuter de tout pourquoi ne pas mettre des ( ) au lieu de <>
anyway on a bien pourri le message de albert qui voulais juste savoir pourquoi son bout de code ne marchait pas :)
content d'avoir entendu ton point de vue
le 03/03/2005 à 23:57
Rex
Détrompes toi, mon objectif est bien de rebondir sur la question du départ.
Autoriser le HTML ne veut pas dire autoriser tout et n'importe quoi.
div, table, script ...etc. sont bien évidemment interdites (enfin, non autorisées, ce qui est différent). De même que les balises non fermées ne doivent pas être traité.
Mon regret est justement cette mode. "Les autres font comme ça, c'est moche, mais je fais comme eux !", et j'ai bien peur que ton CMS emboîte le pas.
Perso, je préfère la syntaxe HTML ou à l'opposé Wiki (qui est beaucoup plus logique pour les non codeurs), mais pas cet ersatz d'HTML remplacé par des crochets qu'est BBmachin.
Notre cher albert se fourvoie en faisant du BBCode alors que la gestion d'une syntaxe HTML like est tout aussi simple (voir plus simple car le crochet est un caractère spécial dans les regexp).
Pour la peine, je vais lui répondre :
La bonne regexp, c'est
preg_replace('`<code=[^>]+>`i', '<code>', $debut)
Et pour répondre à Graal : J'ai fait de nombreux bench et PCRE (jamais de POSIX, c'est trop lent) n'est pas plus lent que des strpos/substr, mais on y gagne en clarté.
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
le 03/03/2005 à 23:58
Rex
Oupss ... c'est des crochets et pas des "<>" :)
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
Bonjour,
Ravi que mon post ait suscité tant de réactions ...
Notre cher albert se fourvoie en faisant du BBCode alors que la gestion d'une syntaxe HTML like est tout aussi simple (voir plus simple car le crochet est un caractère spécial dans les regexp).
En réalité, je fais partie de l'équipe de développement du site moteurprog, pour des raisons de facilités pour l'utilisateur ainsi que pour des raisons de sécurités, nous utilisons le bbcode.
Je n'ai jamais été vraiment amis avec les expressions régulière, car je ne les aime pas trop, mais ici, j'étais contraint de m'en servir.
Je vais de ce pas tester le bout de code
le 04/03/2005 à 17:14
Graal
Et pour répondre à Graal : J'ai fait de nombreux bench et PCRE (jamais de POSIX, c'est trop lent) n'est pas plus lent que des strpos/substr, mais on y gagne en clarté.
Surement que toi tu les utilises correctement mais si je me souviens bien, j'ai précisé 'quand on utilise les expressions régulières à tort et à travers'