#", "#& #"); $html_entities_replace = array("<", ">", "& "); $start_html = 1; $message = " " . $message; while( $start_html = strpos($message, "<", $start_html) ) { if( $end_html = strpos($message, ">", $start_html) ) { $length = $end_html - $start_html + 1; $tagallowed = 0; for($i = 0; $i < sizeof($allowed_html_tags); $i++) { $match_tag = trim($allowed_html_tags[$i]); if( preg_match("/^[\/]?" . $match_tag . "( .*?)*$/i", trim(substr($message, $start_html + 1, $length - 2))) ) { if( !preg_match("/(^\?)|(\?$)/", trim(substr($message, $start_html + 1, $length - 2))) ) { $tagallowed = 1; } } } if( $length && !$tagallowed ) { $message = str_replace(substr($message, $start_html, $length), preg_replace($html_entities_match, $html_entities_replace, substr($message, $start_html, $length)), $message); } $start_html += $length; } else { $message = str_replace(substr($message, $start_html, 1), preg_replace($html_entities_match, $html_entities_replace, substr($message, $start_html, 1)), $message); $start_html = strlen($message); } } $message = trim($message); } else { $html_entities_match = array("#<#", "#>#", "#& #"); $html_entities_replace = array("<", ">", "& "); $message = preg_replace($html_entities_match, $html_entities_replace, $message); } if( $bbcode_on && $bbcode_uid != "" ) { $message = bbencode_first_pass($message, $bbcode_uid); } return($message); } ?>