. require_once('../inc/sanitize_html.inc'); function image_as_bb($text){ // This function depends on sanitized HTML $pattern = '@^"]+)\"([^>]*)>@si'; $replacement = '[img]$2[/img]'; $text = preg_replace($pattern, $replacement, $text); $pattern = "@]*)>@si"; $replacement = '[img]$2[/img]'; $text = preg_replace($pattern, $replacement, $text); return $text; } function link_as_bb($text){ /* This function depends on sanitized HTML */ // Build some regex (should be a *lot* faster) $pattern = '@]+)\">@si'; // Gives us the URL in $1... $replacement = '[url=$1]'; // Turns that URL into a hyperlink $text = preg_replace($pattern, $replacement, $text); $pattern = "@@si"; // Gives us the URL in $1... $replacement = '[url=$1]'; // Turns that URL into a hyperlink $text = preg_replace($pattern, $replacement, $text); $pattern = "@@si"; $replacement = '[/url]'; $text = preg_replace($pattern, $replacement, $text); return $text; } function formatting_as_bb($text){ /* This function depends on sanitized HTML */ $in[]="";$out[]="[b]"; $in[]="";$out[]="[/b]"; $in[]="";$out[]="[i]"; $in[]="";$out[]="[/i]"; $in[]="";$out[]="[u]"; $in[]="";$out[]="[/u]"; $in[]="";$out[]="[b]"; $in[]="";$out[]="[/b]"; $in[]="";$out[]="[/list]"; $in[]="
    ";$out[]="[list=1]"; $in[]="
";$out[]="[/list]"; $in[]="
";$out[]="[pre]";
    $in[]="
";$out[]="[/pre]"; $in[]="
";$out[]="\n"; $in[]="
";$out[]="\n"; $in[]="
";$out[]="\n"; $in[]=">";$out[]=">"; $in[]="<";$out[]="<"; $in[]="&";$out[]="&"; return str_replace($in, $out, $text); } function html_to_bbcode($text) { $text = sanitize_html($text); $text = image_as_bb($text); $text = link_as_bb($text); $text = formatting_as_bb($text); return $text; } ?>