Ouais c'est bien ce que je pensais, mais ça m'oblige a modifier tout mes articles existant pour adapter le tout au bbcode,
C'est pour ça que je me demandais s'il y avait d'autre solution.
m'enfin tant pis... y'a plus qu'a ^^
Par contre, ou est-ce que je pourrais trouver une fonction bbcode correcte (encode et decode), je trouve pas grand chose de bien sur internet.
Je ne peux pas utiliser l'extension PECL BBCode de PHP car je suis sur un mutualisé chez 1and1 qui ne me permet pas d'activer cette extension.
j'ai bien trouver un petit bout de code que j'ai adapter:
function encode($string){
$search = array(
'#<b>(.*?)<\/b>#is',
'#<strong>(.*?)<\/strong>#is',
'#<i>(.*?)<\/i>#is',
'#<em>(.*?)<\/em>#is',
'#<u>(.*?)<\/u>#is',
'#<img src="(.*?)">#is',
'#<a href="(.*?)">(.*?)<\/a>#is',
'#<code>(.*?)<\/code>#is',
'#<pre class="brush:(.*?);">(.*?)<\/pre>#is',
'#<span style="font-size:(.*?);">(.*?)<\/span>#',
'#<span style="color:(.*?);">(.*?)<\/span>#'
);
$replace = array(
'[b]$1[/b]',
'[b]$1[/b]',
'[i]$1[/i]',
'[i]$1[/i]',
'[u]$1[/u]',
'[img]$1[/img]',
'[url=$1]$2[/url]',
'[code]$1[ /code]',
'[code=$1]$2[ /code]',
'[font size=$1]$2[/font]',
'[font color=$1]$2[/font]',
);
return preg_replace($search, $replace, $string);
}
function decode($string){
$search = array(
'#\[b\](.*?)\[\/b\]#is',
'#\[i\](.*?)\[\/i\]#is',
'#\[u\](.*?)\[\/u\]#is',
'#\[img\](.*?)\[\/img\]#is',
'#\[url\=(.*?)\](.*?)\[\/url\]#is',
'#\[code\](.*?)\[\/code\]#is',
'#\[code\=(.*?)\](.*?)\[\/code\]#is',
'#\[font size\=(.*?)\](.*?)\[\/font\]#is',
'#\[font color\=(.*?)\](.*?)\[\/font\]#is'
);
$replace = array(
'<b>$1</b>',
'<i>$1</i>',
'<u>$1</u>',
'<img src="$1">',
'<a href="$1">$2</a>',
'<pre>$1</pre>',
'<pre class="brush:$1;">$2</code>',
'<span style="font-size:$1;">$2</span>',
'<span style="color:$1;">$2</span>'
);
return preg_replace($search, $replace, $string);
}
Mais là, il y a un problème: par exemple si on poste [ url=google.fr" onclick="alert(0)]osef[/url]
le Alert est intérprété

Tien! d'ailleurs je viens de voir par erreur que sur ce forum, le onclick="alert(0)" s'affiche dans la source mais n'est pas interprété, Il y a une surcouche javascript qui empêche les events ?
serrait-ce la solution ?
Une idée ?

En attendant je continue de regarder ce qu'il existe; sûrement la fonction des PHPbb devrais aller, si elle peux s'adapter.[/code][/code]