par
sadeq » 23 mai 2006, 13:04
Voici une solution qui centralise une base de codes bbcode/html avec une conversion automatique selon le contenu de la base
Cette solution utilise preg_replace pour convertir les codes.
<?php
echo mise_en_forme("[gras]texte en gras[/gras] texte normal [italique]texte en italique[/italique]
texte normal [souligne]texte souligne[/souligne] texte normal [ quote]texte style quote[/quote]");
function mise_en_forme($texte){
//Base de données des tags bbcode/html
$tags = array (
array ("bbcode_d"=>"gras",
"bbcode_f"=>"/gras",
"html_d"=>"b",
"html_f"=>"/b"),
array ("bbcode_d"=>"italique",
"bbcode_f"=>"/italique" ,
"html_d"=>"i",
"html_f"=>"/i"),
array ("bbcode_d"=>"souligne",
"bbcode_f"=>"/souligne",
"html_d"=>"span style='text-decoration: underline;'",
"html_f"=>"/span"),
array ("bbcode_d"=>" quote",
"bbcode_f"=>"/quote",
"html_d"=>"div class='quote'",
"html_f"=>"/div")
);
//Conversion bbcode/html
foreach ($tags as $tag) {
$bbcode_d = $tag["bbcode_d"];
$bbcode_f = $tag["bbcode_f"];
$html_d = $tag["html_d"];
$html_f = $tag["html_f"];
$texte = preg_replace("#\[$bbcode_d\](.*)\[$bbcode_f\]#","<$html_d>$1<$html_f>",$texte);
}
return $texte;
}
?>
<style>
.quote {padding-left:20; background:silver; color:blue; border-style:solid; border-width:1px; font-style:italic; font-size:14}
</style>
Voici une solution qui centralise une base de codes bbcode/html avec une conversion automatique selon le contenu de la base
Cette solution utilise preg_replace pour convertir les codes.
[php]
<?php
echo mise_en_forme("[gras]texte en gras[/gras] texte normal [italique]texte en italique[/italique]
texte normal [souligne]texte souligne[/souligne] texte normal [ quote]texte style quote[/quote]");
function mise_en_forme($texte){
//Base de données des tags bbcode/html
$tags = array (
array ("bbcode_d"=>"gras",
"bbcode_f"=>"/gras",
"html_d"=>"b",
"html_f"=>"/b"),
array ("bbcode_d"=>"italique",
"bbcode_f"=>"/italique" ,
"html_d"=>"i",
"html_f"=>"/i"),
array ("bbcode_d"=>"souligne",
"bbcode_f"=>"/souligne",
"html_d"=>"span style='text-decoration: underline;'",
"html_f"=>"/span"),
array ("bbcode_d"=>" quote",
"bbcode_f"=>"/quote",
"html_d"=>"div class='quote'",
"html_f"=>"/div")
);
//Conversion bbcode/html
foreach ($tags as $tag) {
$bbcode_d = $tag["bbcode_d"];
$bbcode_f = $tag["bbcode_f"];
$html_d = $tag["html_d"];
$html_f = $tag["html_f"];
$texte = preg_replace("#\[$bbcode_d\](.*)\[$bbcode_f\]#","<$html_d>$1<$html_f>",$texte);
}
return $texte;
}
?>
<style>
.quote {padding-left:20; background:silver; color:blue; border-style:solid; border-width:1px; font-style:italic; font-size:14}
</style>
[/php]