Problème BBcode - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Problème BBcode (/showthread.php?tid=2342) |
Problème BBcode - Valter - 01-02-2008 Bonjour, il se trouve que j'ai un problème avec mon BBcode ( plus précisément la partie code en couleur ). Voici mon code : Code PHP :
Et lorsque je teste ma messagerie, et bien... il ne s'affiche rien à par le texte normal. Je crois que cela viens du fait que, lorsque j'enregistre le message dans ma bdd, j'utilise : Code PHP :
Y a t-il un moyen de résoudre ce problème sans avoir à retirer mes protections ? RE: Problème BBcode - Amrac - 01-02-2008 Tu fait d'abord ton htmlspecialchars pour être sur que l'utilisateur n'as pas mis de saloperies. Et c'est seulement après que tu passe ton BBCode. Car ton bbcode va produire de l'html, donc si tu le fait passer par un htmlentities, qui est justement une fonction "anti-html", forcement ca bloque. En gros, tu laisse ta protection, tu la met juste plus tôt. RE: Problème BBcode - Zamentur - 01-02-2008 si c'est pas çà je pense qu'il faudra mettre un peu plus de chose car on ne peut pas deviner le code des objets qui sont utilisés... RE: Problème BBcode - Valter - 02-02-2008 Je n'ai pourtant pas mi de htmlentities et le htmlspecialchars est utilisé AVANT le BBcode ! Alors, avez vous une solution ? Merci quand même de votre aide, mais je n'ai toujours pas trouvé... Lorsque je remplace par : Code PHP :
Citation :Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /mnt/140/sdb/1/8/0tt0k4r/BBcode.php on line 28==> logique. En revanche, je crois que c'est le $1 du regex qui gène dans la partie Code PHP :
Vu que php le compte commence du texte au lieu de ce qui doit être remplacé. Là, j'ai plus d'idées :non: :non: RE: Problème BBcode - Amrac - 03-02-2008 Ne connaissant pas ton système, est-ce que tu pourrait faire tourner un test pour moi? Code PHP :
Ensuite tu passe $chaine dans ton BBCode, puis: Code PHP :
Si on a bien le résultat attendue sur le second echo, le problème vient bien de l'enregistrement en base de données, si on a pas notre résultat sur le echo, alors le problème vient de ton BBCode. RE: Problème BBcode - Valter - 03-02-2008 En fait le 'quote' ca marche, mais c'est le code (html, php, batch,etc...) que je n'arrive pas à faire fonctionner car le $1, au lieu d'être considéré comme ce qu'il reste et le reste à remplacer, il le considère comme du simple texte, vu qu'il doit avoir les guillements "". RE: Problème BBcode - Zamentur - 03-02-2008 Tu pourrais faire un echo $html->parse_code(); qu'on sache ce que çà donne, histoire de pas chercher complètement à coté du vrai problème? RE: Problème BBcode - Valter - 03-02-2008 Si je fais echo $php->parse_code, ca me met $1 en colorié php. En revanche, ca marche bien à l'extérieur du bbcode. exemple ici : http://0tt0k4r.free.fr/zxml.php RE: Problème BBcode - Zamentur - 03-02-2008 Bon je viens de comprendre le problème. C'est un problème de construction: Code PHP :
Ben là en fait la chaine $1 est traité par ton objet GeSHi , et ensuite seulement $1 est remplacé par ce qui est contenue dans les parenthèses (.+?). Du coup forcement ce contenue n'est pas formaté par l'objet GeSHi... J'étais complètement en train de chercher à coté, mais là c'est évident. RE: Problème BBcode - Valter - 03-02-2008 Si tu avais lu ce message, Valter a écrit :Je n'ai pourtant pas mi de htmlentities et le htmlspecialchars est utilisé AVANT le BBcode ! ...tu remarquera que j'ai déjà essayé et sans résultat :non: :non: |