[PHP] remplacer le bb code par du html

Fermé
pepe cyril Messages postés 43 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 18 juin 2009 - 26 févr. 2005 à 15:18
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 27 nov. 2007 à 16:28
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
A voir également:

5 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
26 févr. 2005 à 17:10
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;

?>
2
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
26 févr. 2005 à 16:10
Salut,

Il faut voir du côté des expressions régulières:
http://www.commentcamarche.net/php/phpreg.php3
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
26 févr. 2005 à 16:21
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....
0
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 !!!!!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
27 nov. 2007 à 16:28
C'est à l'envers pour remplacer les [b] en <b>:
$msg = str_replace("[b]", "<b>", $msg) ;
0