preg_replace_callback
Ich mag solche Fehler, an denen man stundenlang überlegt und daran verzweifelt. Einer ist die PHP-Funktion preg_replace_callback
. Sinn und Zweck ist die Möglichkeit, daß man nach regulären Ausdrücken suchen kann, und bei gefundenen Stellen sofort eine Funktion ausführt, deren Rückgabewert an diese Stelle ersetzt wird.
Wenn ich das PHP-Manual anwende, müßte die entsprechende Zeile so aussehen:
$text = preg_replace_callback( '/(\n|^)\|([^\*].*)/', '_callbacktables', $text);
Dies funktioniert, wenn ich die Funktion direkt — oder innerhalb einer Funktion aufrufe. Die Ersetzung tritt auch ein, wenn ich das Ergebnis über echo
ausgebe! Aber sie funktioniert nicht, wenn ich sie in dieser Form innerhalb als Methode einer Klasse aufrufe.
An einer anderen Stelle fand ich eine Variante, die Funktion über ein Array anzugeben. Denn Sinn habe ich noch nicht verstanden, aber auf mein Problem entsprechend angewedendet, funktioniert es erst einmal:
$text = preg_replace_callback( '/(\n|^)\|([^\*].*)/', array('SimpleHTML', '_callbacktables'), $text);
Bisherige Kommentare (0)
Es wurde noch kein Kommentar geschrieben!
Kommentar verfassen
Bisherige Trackbacks (0)
Es wurde noch kein Trackback empfangen!