Um einen BB-Code auf der eigenen Webseite einzubinden kann man ganz einfach vorgehen, nämlich mit preg_replace():
$text = $preg_replace('/\[b\](.*?)\[\/b\]/is', '<b>//1</b>', $text); |
Wenn man nun jedoch Funktionen im Ersatz aufrufen möchte, wie zum Beispiel wenn man PHP-Code highlighten will, so muss man auf eine andere Funktion zurückgreifen: preg_replace_callback(). Um sich hier eine externe Funktion zu ersparen kann man wiederum die Funktion create_function() verwenden:
$text = preg_replace_callback("/\[php\](.*?)\[\/php\]/is", create_function('$hits', 'return highlight_string(preg_replace(\'/\[php\](.*?)\[\/php\]/is\', \'\\1\', $hits[0]), 1);'), $text); |
Schaut kompliziert aus… isses aber nicht. ;)
Tags: bb, bbcode, code, ersetzen, funktion, PHP, preg_replace, preg_replace_callback, string, str_replace