[PHP] remplacer le bb code par du html
pepe cyril
Messages postés
43
Statut
Membre
-
kilian Messages postés 8675 Date d'inscription Statut Modérateur Dernière intervention -
kilian Messages postés 8675 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour tout le monde,
Actuellement, j'essaye de monter le forum de mon site. Je me heurte à un problème, c'est pour remplcer le code du forum ([b], [i], [quote]...) par le code html qui convien, tout en récupérant les paramètre (ex: [size=3]), et en referment toutes les balises, même si l'utilisateur à fait des bêtises.
Je pense que quelqu'un à déjà posé cette question, mais je n'ai pas trouvé.
Mes balises serai celle que l'on trouve sur les principaux forum.
Merci encore
Actuellement, j'essaye de monter le forum de mon site. Je me heurte à un problème, c'est pour remplcer le code du forum ([b], [i], [quote]...) par le code html qui convien, tout en récupérant les paramètre (ex: [size=3]), et en referment toutes les balises, même si l'utilisateur à fait des bêtises.
Je pense que quelqu'un à déjà posé cette question, mais je n'ai pas trouvé.
Mes balises serai celle que l'on trouve sur les principaux forum.
Merci encore
5 réponses
-
Petit exemple avec [size] .
Tu veux changer un bloc dans une phrase en transformant [size=?]Une phrase au pif [/size] en
<span style="font-size:?px>Une phrase au pif</span>
Ca donnera:<? $chaine="C'est un pic[size=9]c'est un roc[/size] que dis-je?"; /* Tu construis ton expression regulière et là je te renvoie à la page que j'ai citée avant */ $exp_reg="\[size=([0-9]{1,2})\](.*)\[/size\]"; // Remplacement $chaine=eregi_replace($exp_reg,"<span style=\"font-size:\\1px\">\\2</span>",$chaine); /* Ca te retournera "C'est un pic <span style="font-size:9px">c'est un roc</span> que dis-je?" */ echo $chaine; ?> -
Salut,
Il faut voir du côté des expressions régulières:
http://www.commentcamarche.net/php/phpreg.php3 -
Voir même avec ke simple remplacement d'une chaîne de caractère:
$chaine="C'est un [b]pic[/b] c'est un [b]cap[/b]"; $chaine=str_replace("[b]","<b>",$chaine); $chaine=str_replace("[/b]","</b>",$chaine); // Retournera "C'est un <b>pic</b> c'est un <b>cap</b>"; echo $chaine;
Ca c'est suffisant pour des balises figées comme [b],[u],[i]...
Mais dés qu'il s'agit de récupérer la valeur d'un [size=?], d'un [quote=?] là il faut voir du côté des expressions régulières.... -
slt
merci mai ya un probleme
si par exemple jutilise =>$msg = htmlspecialchars($_POST[msg] )
et jutilise apres
str_replace("<b>","[b]",$msg) ;
ca fonctionne po :s:s:s c koi la solution !!!!!!! -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
C'est à l'envers pour remplacer les [b] en <b>:
$msg = str_replace("[b]", "<b>", $msg) ;