I have taken this script and improved it from the php tutorials website this is the code atm,

<?php
function bbcode_format ($str) {

$str = htmlentities($str);

$simple_search = array(
            '/[br]/is',
            '/[b](.*?)[/b]/is',
            '/[i](.*?)[/i]/is',
            '/[u](.*?)[/u]/is',
            '/[myurl=(.*?)](.*?)[/myurl]/is',
            '/[url](.*?)[/url]/is',
            '/[align=(left|center|right)](.*?)[/align]/is',
            '/[img](.*?)[/img]/is',
            '/[mymail=(.*?)](.*?)[/mymail]/is',
            '/[mail](.*?)[/mail]/is',
            '/[font=(.*?)](.*?)[/font]/is',
            '/[size=(.*?)](.*?)[/size]/is',
           '/[codearea](.*?)[/codearea]/is',
          '/[mycode](.*?)[/mycode]/is',
          '/[p](.*?)[/p]/is'                );

$simple_replace = array(
            //added line break
           '<br />',
            '<strong>$1</strong>',
            '<em>$1</em>',
            '<u>$1</u>',
            // added nofollow to prevent spam
            '<a href="$1" rel="nofollow" title="$2 - $1">$2</a>',
            '<a href="$1" rel="nofollow" title="$1">$1</a>',
            '<div style="text-align: $1;">$2</div>',
            //added alt attribute for validation
            '<img src="$1" alt="" />',
            '<a href="mailto:$1">$2</a>',
            '<a href="mailto:$1">$1</a>',
            '<span style="font-family: $1;">$2</span>',
            '<span style="font-size: $1;">$2</span>',
            '<span style="color: $1;">$2</span>',
            //added textarea for code presentation
            '<textarea class="code_container" rows="30" cols="70">$1</textarea>',
            //added pre class for code presentation
            '<pre class="code">$1</pre>',
            //added paragraph
            '<p>$1</p>'               );
// Do simple BBCode's
$str = preg_replace ($simple_search, $simple_replace, $str);
// Do <blockquote> BBCode
$str = bbcode_quote ($str);
$str = str_replace ('<br />','', $str);
return $str;
}



function bbcode_quote ($str) {
//added div and class for quotes
    $open = '<blockquote><div class="quote">';
    $close = '</div></blockquote>';
    // How often is the open tag?
    preg_match_all ('/[quote]/i', $str, $matches);
    $opentags = count($matches['0']);
    // How often is the close tag?
    preg_match_all ('/[/quote]/i', $str, $matches);
    $closetags = count($matches['0']);
    // Check how many tags have been unclosed
    // And add the unclosing tag at the end of the message
    $unclosed = $opentags - $closetags;
    for ($i = 0; $i < $unclosed; $i++) {
        $str .= '</div></blockquote>';
    }
    // Do replacement
    $str = str_replace ('[' . 'quote]', $open, $str);
    $str = str_replace ('[/' . 'quote]', $close, $str);
    return $str;
}

bbcode_format("I aint lame");
bbcode_format("Tester [b]bold[/b] [i]ittalic[/i] [u]under[/u]");

?>

However this just produces a HUGE error message!

Warning: preg_replace(): Unknown modifier 'z' in /home/www/shogans.com/new.php on line 47

Warning: preg_replace(): Unknown modifier 'c' in /home/www/shogans.com/new.php on line 47

Warning: preg_replace(): Unknown modifier 'y' in /home/www/shogans.com/new.php on line 47

Warning: preg_replace(): Unknown modifier 'p' in /home/www/shogans.com/new.php on line 47

Warning: preg_match_all(): Unknown modifier 'q' in /home/www/shogans.com/new.php on line 64

Warning: preg_replace(): Unknown modifier 'b' in /home/www/shogans.com/new.php on line 47

Warning: preg_replace(): Unknown modifier ']' in /home/www/shogans.com/new.php on line 47

Warning: preg_replace(): Unknown modifier ']' in /home/www/shogans.com/new.php on line 47

Warning: preg_replace(): Unknown modifier 'y' in /home/www/shogans.com/new.php on line 47

Warning: preg_replace(): Unknown modifier 'r' in /home/www/shogans.com/new.php on line 47

Warning: preg_replace(): Unknown modifier 'a' in /home/www/shogans.com/new.php on line 47

Warning: preg_replace(): Unknown modifier 'g' in /home/www/shogans.com/new.php on line 47

Warning: preg_replace(): Unknown modifier 'y' in /home/www/shogans.com/new.php on line 47

Warning: preg_replace(): Unknown modifier 'a' in /home/www/shogans.com/new.php on line 47

Warning: preg_replace(): Unknown modifier 'f' in /home/www/shogans.com/new.php on line 47

Warning: preg_replace(): Unknown modifier 'z' in /home/www/shogans.com/new.php on line 47

Warning: preg_replace(): Unknown modifier 'c' in /home/www/shogans.com/new.php on line 47

Warning: preg_replace(): Unknown modifier 'y' in /home/www/shogans.com/new.php on line 47

Warning: preg_replace(): Unknown modifier 'p' in /home/www/shogans.com/new.php on line 47

Warning: preg_match_all(): Unknown modifier 'q' in /home/www/shogans.com/new.php on line 64

I have checked the code and I can't see why this is happening can anyone see????
Please help

    If you use "/" as a delimiter in your regexes, then anywhere within those regexes that you want a literal "/" character, you must escape it with a back-slash:

    '/[p](.*?)[\/p]/is'
    

      An alternative to constant escaping forward slashes is to use a different delimiter, such as '@' or '#'.

        Write a Reply...