Sven Petruschke
Erfahrenes Mitglied
Hallo, vielleicht könnte sich ein RegExp-Gott meinem Problem annehmen. Sämtliche Versuche, Backreferences in das aktuelle Suchpattern einzubinden scheiterteten leider. Hier ein simples Beispiel:
$str = "<b>Text</b>";
preg_match("!<(.+?)>(.*?)</\1>!", $str, $matches);
print_r($matches);
(Den Code habe ich nicht gehighlightet, weil mir sonst der Backslash vor der Backreference entfernt wird)
Ich versuche mittels \1 auf den Inhalt des ersten Subpatterns zuzugreifen.im oberen Beispiel sollte das erste Subpattern ein b finden und dieses über die Backreference in den abschließenden HTML-Tag einbinden. Doch preg_match() gibt FALSE zurück.
Verwende ich als Suchpattern !<(.+?)>(.*?)</b>!, dann funktioniert es wunderbar.
Weiss jemand, was ich falsch mache?
Vielen Dank, snuu
$str = "<b>Text</b>";
preg_match("!<(.+?)>(.*?)</\1>!", $str, $matches);
print_r($matches);
(Den Code habe ich nicht gehighlightet, weil mir sonst der Backslash vor der Backreference entfernt wird)
Ich versuche mittels \1 auf den Inhalt des ersten Subpatterns zuzugreifen.im oberen Beispiel sollte das erste Subpattern ein b finden und dieses über die Backreference in den abschließenden HTML-Tag einbinden. Doch preg_match() gibt FALSE zurück.
Verwende ich als Suchpattern !<(.+?)>(.*?)</b>!, dann funktioniert es wunderbar.
Weiss jemand, was ich falsch mache?
Vielen Dank, snuu
Zuletzt bearbeitet: