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 :
entre ma fonction et mon message
j'ai donc maintenant le code suivant :
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 ?
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> </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 ?