Création
d'entreprise
Posez votre question Signaler

[PHP] remplacer le bb code par du html

pepe cyril 43Messages postés 28 juillet 2003Date d'inscription - Dernière réponse le 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
Lire la suite 

[PHP] remplacer le bb code par du html »

5 réponses
Réponse
+2
moins plus
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;

?>
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

Il faut voir du côté des expressions régulières:
http://www.commentcamarche.net/php/phpreg.php3
Ajouter un commentaire
Réponse
+0
moins plus
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....
Ajouter un commentaire
Réponse
+0
moins plus
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 !!!!!!!
Ajouter un commentaire
Réponse
+0
moins plus
C'est à l'envers pour remplacer les [b] en <b>:
$msg = str_replace("[b]", "<b>", $msg) ;
Ajouter un commentaire
Ce document intitulé « [PHP] remplacer le bb code par du html » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?