Mit ‘preg_replace_callback’ getaggte Artikel

BB-Code auf eigener Webseite mittels Callback Funktion

Freitag, 27. März 2009

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. ;)