function parse($text)
{
$replacer = array(
"[i]" => "",
"[/i]" => "",
"[b]" => "",
"[/b]" => "",
"[/size]" => "",
"[/color]" => "",
"[code]" => "
",
"[/code]" => "
",
"[small]" => "",
"[/small]" => "
",
"[quote]" => "",
"[/quote]" => "
",
"[list]" => "",
"[*]" => "- ",
"[/list]" => "
",
);
$fixer = array(
"[" => '\\[',
"]" => '\\]',
"*" => '\\*',
"/" => '\/',
);
foreach ($replacer as $key => $val)
{
$thekey = $key;
$keys = str_replace(array_keys($fixer), $fixer, $thekey);
$text = eregi_replace($keys, $val, $text);
}
$newstr = $text;
$newstr = preg_replace("/\[url=(.+)\]([^[]+)\[\/url\]/i", "\${2}", $newstr);
$newstr = preg_replace("/\[size=(.+)\]/i", "", $newstr);
$newstr = preg_replace("/\[color=(.+)\]/i", "", $newstr);
$newstr = preg_replace("/\[quote=(.+)\]/i", "\${1}", $newstr);
$newstr = preg_replace("/\[url\]([^[]+)\[\/url\]/i", "
\${1}", $newstr);
return nl2br($newstr);
}