Hello à toutes et tous,
Aujourd'hui j'ai décidé de m'entrainer sur la création d'une fonction de choix, celle de la notation d'une chaîne BBCode en chaine HTML. Sans être absolument sûre que cela soit la meilleure façon de procéder.
En clair, je souhaite transformer cela
Code :
en cela <b></b> (Facile hein ?

)
ou encore ceci
Code :
[url='http://xxxxx.com']Site de ouf[/url]
en ceci <a href='http://code-source.com'>Site de ouf</a>
ou encore
Code :
[size=10]code-source[/size]
en <font size="10">xxxxx</font>
Les morceaux de BBCode autorisés étant:
[b]
[i]
[u]
[p]
[url]
[size]
Voilà déjà ce que j'ai commencé, mais dont je n'arrive pas à finir pour [url] et [size] :
Code PHP :
function bbCode($char, $contenu){
$chars = explode("-", $char);
for($i=0; $i<count($chars); $i++ ){
$contenu = str_replace("[".$chars[$i]."]", "<".$chars[$i].">", $contenu); // [a] -> <a>
$contenu = str_replace("[/".$chars[$i]."]", "</".$chars[$i].">", $contenu); // [/a] -> </a>
if($chars[$i] == "size"){
[size=9][/size]
$contenu = str_replace("[/size]", "</font>", $contenu);
$num = explode("[size=", $contenu);
$contenu = str_replace("[size=".$num[1], "<font size=".$num[1], $contenu;
}
}
return $contenu;
}
Pour ma part, sans me casser le c.., le cerveau ! j'utilise ma fonction de cette façon à l'aide d'un explode() au tout début. (A chacun son savoir!)
Code PHP :
bbCode("b-i-u-p-url-size", $contenu);
Cordialement,
-Kronikerz