bbcode - inserer une image

Répondre
Suta
le 10/10/2005 à 04:57
Suta
bon alors voila ce que jai pu remarqué (suis quand meme tres novice hein ^^)

d'une part j'ai oublier d'écrire :

$data = bbcode($data);


entre ma fonction et mon message

j'ai donc maintenant le code suivant :

function bbcode($text) { 
$text = preg_replace("#\[img\]((ht|f)tp://)([^\r\n\t<\"]*?)\[/img\]#sie", "'<img src=\\1' . str_replace(' ', '%20', '\\3') . '>'", $text);
$text = preg_replace("#\[url\]((ht|f)tp://)([^\r\n\t<\"]*?)\[/url\]#sie", "'<a href=\"\\1' . str_replace(' ', '%20', '\\3') . '\" target=blank>\\1\\3</a>'", $text);
$text = preg_replace("/\[url=(.+?)\](.+?)\[\/url\]/", "<a href=$1 target=blank>$2</a>", $text);
$text = preg_replace("/\[b\](.+?)\[\/b\]/", "<b>$1</b>", $text);
$text = preg_replace("/\[i\](.+?)\[\/i\]/", "<i>$1</i>", $text);
$text = preg_replace("/\[u\](.+?)\[\/u\]/", "<u>$1</u>", $text);
$text = preg_replace("/\[code\](.+?)\[\/code\]/", "<table width=100%><tr><th align=left>Code :</th></tr><tr><td align=left><code>$1</code></td></tr></table>", $text);
$text = preg_replace("/\[quote\](.+?)\[\/quote\]/", "<table width=100%><tr><th align=left>citation :</th></tr><tr><td align=left>$1</td></tr></table>", $text);
$text = preg_replace("/\[quote=(.+?)\](.+?)\[\/quote\]/", "<table width=100%><tr><th align=left>$1 :</th></tr><tr><td align=left>$2</td></tr></table>", $text);
$text = preg_replace("/\[color=(.+?)\](.+?)\[\/color\]/", "<font color=$1>$2</font>", $text);

return $text;
}
$data = bbcode($data);


echo nl2br(stripslashes(htmlentities(trim($data['message'])))),'<p>&nbsp;</p>';
echo '</td></tr>';


Le probleme maintenant c'est le htmlentities -> il maffiche le html au lieu de l'appliquer (vous me suivez ?)

alors si je l'enleve il ne l'affiche plus, mais je ne crois pas que c'est une bonne idée... jme trompe ?
LA GLOBULE
le 10/10/2005 à 10:07
LA GLOBULE
Ben il faut faire le htmlentities et le nl2br avant de faire les preg_replace.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours