^"]+)\"([^>]*)>@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 fix_text($text) { $text = sanitize_html($text); $text = image_as_bb($text); $text = link_as_bb($text); $text = formatting_as_bb($text); return $text; } function fix_profile($profile) { $text = fix_text($profile->response1); if ($text != $profile->response1) { $query = "update profile set response1 = '".mysql_escape_string($text)."' where userid=".$profile->userid; //echo "$profile->response1\n\n"; //echo "$profile->thread $query\n\n"; $retval = mysql_query($query); if (!$retval) { echo mysql_error(); exit(); } } } function fix_profiles() { $start_id = 0; //Set this to something else if you like $profiles = mysql_query("select * from profile where userid>$start_id order by userid"); echo mysql_error(); $i=0; while ($profile = mysql_fetch_object($profiles)){ $i++; if ($i%100 == 0) { //For every 100 profiles echo $profile->userid.". "; flush(); // print out where we are //usleep(200000); } if ($profile->userid > $start_id){ fix_profile($profile); } } } // use this to patch problem cases; hand-edit function fix_fix() { $profiles = mysql_query("select * from profile where id=99"); $profile = mysql_fetch_object($profiles); fix_profile($profile); } fix_profiles(); //fix_fix(); ?>