Guten Morgen, alle zusammen.
Ich sitze hier bereits seit Stunden über einem Problem, von dem ich nicht einmal genau weiß, ob es lösbar ist.
Die Aufgabenstellung:
Ich möchte in einem String mehrere Vorkommen eines Patterns bearbeiten.
Der RegEx liefert mir eine/mehrere Backreferences, die ich allerdings noch auswerten will. Das mache ich über einen Funktionsaufruf.
Falls mir nicht zu folgen ist, hier mal das Ganze in abgespecktem php-Code:
<?php
$string='Hier steht etwas in [tag1]einem Tag[/tag1].'
function tu_was($backres)
{
return $backres;
}
$ausgabe=preg_replace('#\[tag1\](.+?)\[/tag1\]#is', tu_was('\\1'), $string);
echo $ausgabe;
?>
Was mir eben dabei auffällt: Die Backreference ('\1') wird beim Übergeben als Parameter nicht interpretiert, sondern als String übergeben. Folglich wird folgendes ausgeführt:
<?php
echo tu_was('\\1');
//Ausgabe: \\1
?>
Kann mir jemand sagen, ob dieses Ansinnen überhaupt zu einer erfolgreichen Lösung gebracht werden kann, oder was ich gegebenen Falles falsch mache?
mit freundlichen Grüßen,
OsiriS