예제 #1
0
function BBcode($s, $maxLength = 40)
{
    #$s = unescape($s);
    $coTime = str_replace(' ', '', microtime());
    preg_match_all('/\\[code\\](.+)\\[\\/code\\]/Uis', $s, $result);
    $s = bbcode_code_start($s, $coTime, $result);
    # bbcode einheitlicher machen zum bessern pruefen.
    $s = bbcode_simple_prev($s);
    #$s = preg_replace ("/(\015\012|\015|\012)/", " \\1", $s);
    # autoumbruch nach x zeichen
    #$s = bbcode_autonewline($s, $coTime, $maxLength);
    $s = htmlentities($s, ILCH_ENTITIES_FLAGS, ILCH_CHARSET);
    # speziell bilder
    $s = bbcode_images($s);
    # speziell zitate ersetzten.
    $s = bbcode_quote($s);
    # replace simple
    $s = bbcode_simple($s);
    # smilies umwandeln
    $s = bbcode_smiles($s);
    $s = preg_replace("/\r\n|\r|\n/", "\n<br />", $s);
    # code zurueck ersetzten
    $s = bbcode_code_end($s, $coTime, $result);
    return $s;
}
예제 #2
0
function bbcode_format($str)
{
    $simple_search = array('/\\[br\\]/is', '/\\[b\\](.*?)\\[\\/b\\]/is', '/\\[i\\](.*?)\\[\\/i\\]/is', '/\\[u\\](.*?)\\[\\/u\\]/is', '/\\[url\\=(http:\\/\\/.*?)\\](.*?)\\[\\/url\\]/is', '/\\[url\\](http:\\/\\/.*?)\\[\\/url\\]/is', '/\\[align\\=(left|center|right)\\](.*?)\\[\\/align\\]/is', '/\\[img\\](http:\\/\\/.*?)\\[\\/img\\]/is', '/\\[mail\\=(.*?)\\](.*?)\\[\\/mail\\]/is', '/\\[mail\\](.*?)\\[\\/mail\\]/is', '/\\[font\\=(.*?)\\](.*?)\\[\\/font\\]/is', '/\\[size\\=(.*?)\\](.*?)\\[\\/size\\]/is', '/\\[color\\=(.*?)\\](.*?)\\[\\/color\\]/is', '/\\[codearea\\](.*?)\\[\\/codearea\\]/is', '/\\[code\\](.*?)\\[\\/code\\]/is', '/\\[p\\](.*?)\\[\\/p\\]/is');
    $simple_replace = array('<br />', '<strong>$1</strong>', '<em>$1</em>', '<u>$1</u>', '<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>', '<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>', '<textarea class="code_container" rows="30" cols="70">$1</textarea>', '<pre class="code">$1</pre>', '<p>$1</p>');
    // Convert newlines to breaks.
    $str = nl2br($str);
    // Do simple BBCode's
    $str = preg_replace($simple_search, $simple_replace, $str);
    // Do <blockquote> BBCode
    $str = bbcode_quote($str);
    return $str;
}