os2
15 septembre 2004, 04h51
salut
je tente de faire parser du texte qu'un usager à entrer avant de l'insérer dans la bd...
$str = $_POST["texttutoriel"];
$str = preg_replace_callback('`<(code|url|img)>(.+?)</\1>`si', 'bbcode', htmlentities($str));
ensuite ma fonction bbcode
function bbcode($m) {
switch($m[1]) {
// balise case 'code' :
return '<div class="code"><pre>'.$m[2].'</pre></div>';
break;
// balise <url>
case 'url' :
if (preg_match ('`^http://`', $m[2]))
return '<a href="'.$m[2].'" class="machin">'.$m[2].'</a>';
else
return '<a href="http://'.$m[2].'" class="machin">'.$m[2].'</a>';
break;
// balsie <img>
case 'img' :
return '<img src="'.$m[2].'" alt="mon image"/>';
}
}
avec ce code je remplace certain tag....
le problème est que tout ce que contient $_POST["texttutoriel"] est convertit... ce qui devrait pas être le cas
si ça fonctionnerais, ça résoudrait mon problème d'une certain façon... ainsi l'usager n'aurait pas besoin de faire le travail lui même
je tente de faire parser du texte qu'un usager à entrer avant de l'insérer dans la bd...
$str = $_POST["texttutoriel"];
$str = preg_replace_callback('`<(code|url|img)>(.+?)</\1>`si', 'bbcode', htmlentities($str));
ensuite ma fonction bbcode
function bbcode($m) {
switch($m[1]) {
// balise case 'code' :
return '<div class="code"><pre>'.$m[2].'</pre></div>';
break;
// balise <url>
case 'url' :
if (preg_match ('`^http://`', $m[2]))
return '<a href="'.$m[2].'" class="machin">'.$m[2].'</a>';
else
return '<a href="http://'.$m[2].'" class="machin">'.$m[2].'</a>';
break;
// balsie <img>
case 'img' :
return '<img src="'.$m[2].'" alt="mon image"/>';
}
}
avec ce code je remplace certain tag....
le problème est que tout ce que contient $_POST["texttutoriel"] est convertit... ce qui devrait pas être le cas
si ça fonctionnerais, ça résoudrait mon problème d'une certain façon... ainsi l'usager n'aurait pas besoin de faire le travail lui même