ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
736
736
EMPFEHLEN
-
11.02.04 14:42 #1
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, snuuGeändert von Sven Petruschke (11.02.04 um 14:45 Uhr)
Das Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
www.sven-petruschke.de
-
Also ich kenn mich in diesem Thema nicht wirklich gut aus, aber ich habe mal wo gelesen, dass man Regex immer in einfachen ' schreiben sollte...
So funktioniert's auch
preg_match('!<(.+?)>(.*?)</\1>!', $str, $matches);
//EDIT: Wenn du normale Anführungszeichen verwendest, musst du den Backslash excapen (\\1), dann geht's auch.Geändert von split (11.02.04 um 18:00 Uhr)
-
Code :
1 2 3
$tags = implode("|", array('b', 'i', 'u')); $text = preg_replace("/(<|<|\[)(" . $tags . ")(>|>|\])(.+)\\1\/\\2\\3/", "<\\2>\\4</\\2>", $text);
Funktioniert mit spitzen und eckigen Klammern und mit ge-htmlspecialchar`ten spitzen klammern. Hoffe ich...Im Ruhestand.
Ähnliche Themen
-
Java Regex/Matcher Backreference
Von gamp im Forum JavaAntworten: 1Letzter Beitrag: 18.02.10, 20:45 -
Backreferenzing bei RegExp funktioniert nicht
Von tomate im Forum PHPAntworten: 5Letzter Beitrag: 09.02.10, 10:55 -
RegExp Quantifier: Eins oder keins - funktioniert nicht!
Von DataFox im Forum PHPAntworten: 1Letzter Beitrag: 03.05.08, 13:16 -
preg_match() mit Backreference
Von tobee im Forum PHPAntworten: 3Letzter Beitrag: 30.03.07, 12:10 -
RegExp Funktioniert nicht
Von Prophet05 im Forum PHPAntworten: 7Letzter Beitrag: 30.10.05, 11:03





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren