regex : Transformer HTML en BBCode
Posté : 17 févr. 2007, 21:30
Salut!
Je suis en train de coder un éditeur wysiwyg pour un de mes projets et j'ai réussis. Maintenant, j'essaye de coder une fonction php pour qu'elle change le code html généré en bbcode. Mais j'ai quelques problème...
Ma fonction:
Texte après traitement:
Vous ne verriez pas mon erreur dans les regex? Parce que j'ai beau les regarder 20x, je n'y trouve rien ...
Merci d'avance!
Je suis en train de coder un éditeur wysiwyg pour un de mes projets et j'ai réussis. Maintenant, j'essaye de coder une fonction php pour qu'elle change le code html généré en bbcode. Mais j'ai quelques problème...
Ma fonction:
$balises_to_replace = array(
"\<b\>" => "[b]",
"\</b\>" => "[/b]",
"\<strong\>" => "[b]",
"\</strong\>" => "[/b]",
"\<font size=\"(.*)\"\>" => "[size=$1]",
"\<font color=\"(.*)\"\>" => "[color=$1]",
"\<img src=\"(.*)\"\>" => "[img]$1[/img]",
"\<img src=\"(.*)\" width=\"(.*)\" height=\"(.*)\"\>" => "[img]$1[/img]",
"\<a href=\"(.*)\"\>" => "[url=$1]",
"\</a\>" => "[/url]",
"\</a\>" => "[/url]",
);
foreach($balises_to_replace as $balise => $bbcode) {
$content = preg_replace("(".$balise.")i",$bbcode,$content);
}
Texte de départ:
Code : Tout sélectionner
Ceci est un <font color="red">test pour<font size="4"> vér</font></font><font size="4">ifi<font color="green">er </font>que <font color="yellow">m</font></font><font color="yellow">on édit</font>eur marche correctement.<br>Test concluant?Code : Tout sélectionner
Ceci est un [color=red">test pour[size=4"> vér<font size="4">ifi<font color="green">er </font>que <font yellow]on="" édit="" color="#0e0000"></font>eur marche correctement.<br>Test concluant?Merci d'avance!