Innerhalb von Pattern Matching ersetzen

Hab gerade entdeckt, dass es zumindest in PHP noch eine einfachere Möglichkeit gäbe, die dann so aussehen würde:

Code:
$OutputStr = preg_replace("/\[color=(.*?)\](.*?)\[\/color\]/e", "'<font color=\\1>'.htmlspecialchars('\\2').'</font>'", $InputStr);
Der Pattern Modifier 'e' bewirkt hier, dass der Replace-String als PHP-Code aufgefasst und geparst wird. Evtl. Funktionsaufrufe werden dabei berücksichtigt und durchgeführt. Hab aber noch nicht rausfinden können, ob das PHP-spezifisch ist. Und auch wenn's zu einem Standard gehören sollte, ist es immer noch fraglich, ob's auch in Delphi so einfach geht.

Wobei mir gerade noch eine andere Methode einfallen würde. Voraussetzung ist nur, dass es in Delphi eine Funktion oder ein Sprachkonstrukt gibt, das es erlaubt, Strings mit Delphi-Code zu evaluieren. Wobei ich das eher nicht glaube, da Delphi ja AFAIK keine interpretierte Sprache ist. Aber egal, angenommen, dem wäre so... dann könntest du von der Funktion Replace einen String generieren lassen, der das Ersetzen von HTML-Tags beim evaluieren enthält. Nur so eine Idee.
 
Zurück