(.*?)\<\/pre\>/is', '/\/is', '/\<\/p\>/is', '/\(.*?)\<\/b\>/is', '/\(.*?)\<\/i\>/is', '/\(.*?)\<\/u\>/is', '/\(.*?)\<\/ul\>/is', '/\(.*?)\<\/li\>/is', '/\/is', '/\/is', '/\/is', '/\/is', '/\/is', '/\(.*?)\<\/div\>/is', '/\/is', '/\(.*?)\<\/strong\>/is', '/\(.*?)\<\/a\>/is', '/\(.*?)\<\/code\>/is', '/\(.*?)\<\/span\>/is', '/\(.*?)\<\/span\>/is', '/\(.*?)\<\/blockquote\>/is', '/\(.*?)\<\/video\>/is', '/\(.*?)\<\/audio\>/is', '/\(.*?)\<\/iframe\>/is', ); // Replace with $bbtags = array( '[code]$1[/code]', '', "\n", '[b]$1[/b]', '[i]$1[/i]', '[u]$1[/u]', '[list]$1[/list]', '[*]$1', '[img=$2x$4]$6[/img]', '[img=$4x$2]$6[/img]', '[img=$4x$6]$2[/img]', '[img=$6x$4]$2[/img]', '[img]$2[/img]', '$2', "\n", '[b]$1[/b]', '[url=$2]$4[/url]', '[code]$1[/code]', '[color="$1"]$2[/color]', '[size=$1]$2[/size]', '[quote]$1[/quote]', '[video]$1[/video]', '[audio]$1[/audio]', '[iframe]$1[/iframe]', ); // Replace $htmltags in $text with $bbtags $text = preg_replace ($htmltags, $bbtags, $s); call_hooks('html2bbcode', $text); // Strip all other HTML tags $text = strip_tags($text); return $text; } function stripnl_exceptinpre($string) { // First, check for
 tag
    if(strpos($string, '
') === false)
    {
        return str_replace("\n","", $string);
    }

    // If there is a 
, we have to split by line
    // and manually replace the linebreaks

    $strArr=explode("\n", $string);

    $output="";
    $preFound=false;

    // Loop over each line
    foreach($strArr as $line)
    {    // See if the line has a 
. If it does, set $preFound to true
        if(strpos($line, "
") !== false)
        {
            $preFound=true;
        }
        elseif(strpos($line, "
") !== false) { $preFound=false; } // If we are in a pre tag, add line and also add \n, else add the line without \n if($preFound) { $output .= $line . "\n"; } else { $output .= $line ; } } return $output; }