Problème dans BBCODE

Bonjour à tous,
voilà j'ai conçu un BBCODE pour mon site, cependant j'ai la balise de citation:
{citation="pseudo"}le  message qui est cité{/cite}

Seulement voilà, comme je n'autorise pas le HTML, et que j'ai mis un htmlspecialchars lors de l'enregistrement dans la base de données, les " deviennent des "
Donc quand je formate lorsque j'appelle les enregistrements de la base de données et bien le BBCODE ne fonctionne pas car on obtient:
<code>{citation=&quot;pseudo&quot;}le  message qui est cité{/cite}
</code>

Je voudrais savoir comment faire pour passer ce problème, sans être amené à retirer mon htmlspecialchars.
J'ai donc eu l'idée de faire, avant le formatage du BBCODE une regex qui remplacera dans ma chaîne les " pour les remplacer par des " mais je ne sais plus comment le faire et je ne sais pas si sa marchera.

Quelqu'un saurait comment faire ?

Merci d'avance.

4 réponses

  1. et pourquoi tu ne retire pas carement les guillemets (au lieu de retirer le htmlspecialchar) ... ?

    il faut juste modifier les scripts en consequence
    1. Bonjour, et bien tu peut faire tout simple comme Regex:
      $variable = str_replace ( '&quot;', '"', $variable);


      Bonne chance et bonne journée.
      1. Oups, comme il y a des caractères spéciaux, sa ne s'affiche pas correctement.

        Et en fait
        lors de l'enregistrement dans la base de données, les " deviennent des &quot; 


        et donc le BBCODE ne fonctionne pas car on obtient

        {citation=&quot;pseudo&quot;}le  message qui est cité{/cite}
        1. Oups, comme il y a des caractères spéciaux, sa ne s'affiche pas correctement.

          Et en fait
          lors de l'enregistrement dans la base de données, les " deviennent des &quot; 

          et donc le BBCODE ne fonctionne pas car on obtient
          {citation=&quot;pseudo&quot;}le  message qui est cité{/cite}