Hallo zusammen
Ich habe einen String in der Form
[TAG]Lorem ipsum etc.[/TAG]
Mithilfe des Codes
$str = preg_replace("/\[TAG\](.*)\[\/TAG\]/Um","<TAG $1 TAG>",$str);
bring ich ihn in die Form
<TAG Lorem ipsum etc. TAG>
Meine Frage: Wie kann ich es anstellen, dass ich den Text zwischen [TAG] un [/TAG], d.h. den Inhalt von $1, mithilfe einer Funktion, z.B. htmlspecialchars(), bearbeiten kann, bevor er an der Stelle von $1 eingefügt wird.
Ich habe versucht, es so zu lösen
$str = preg_replace("/\[TAG\](.*)\[\/TAG\]/Um","<TAG ".htmlspecialchars($1)." TAG>",$str);
was einen Fehler ausgibt (Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in /home/www/web275/html/index.php on line 98) und auch so
$str = preg_replace("/\[TAG\](.*)\[\/TAG\]/Um","<TAG ".htmlspecialchars("$1")." TAG>",$str);
Hier wir aber der Funktion nur der String "$1" mitgegeben, d.h. er wird nicht ersetzt.
Gibt es eine Möglichkeit, dies ohne einen Umweg über explode() zu lösen?
Vielen Dank schon im Vorraus