ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
348
348
EMPFEHLEN
-
Hallo
Ich habe ein geniales Pattern:
Code :1
$pattern = "#<frame [^>]*name=[\"|']([0-9a-zA-Z_\-]*)[\"|'][^>]*>#isU";
Dieses findet ein Frame-Element in einem Frameset, und darin den Wert des name-Attributes.
Aber nur, wenn der Wert des name-Attributes in double- oder singlequoes stht. Ansonsten findet die RegExp nichts.
Aber genau das ist das Problem, denn es kommt vor, das etwas NICHT in double- oder singlequotes steht. Den Fall muss ich mit abdecken, und das habe ich so probiert:
Code :1
$pattern = "#<frame [^>]*name=[\"|']?([0-9a-zA-Z_\-]*)[\"|']?[^>]*>#isU";
und so:
Code :1
$pattern = "#<frame [^>]*name=[\"|']{0,1}([0-9a-zA-Z_\-]*)[\"|']{0,1}[^>]*>#isU";
und so:
Code :1
$pattern = "#<frame [^>]*name=([\"|']){0,1}([0-9a-zA-Z_\-]*)([\"|']){0,1}[^>]*>#isU";
alle 3 Versuche enthalten dann nur noch den gesamten <frame ...> Tag im Match-Array. Habe ich mit print_r ausgegeben. Nichts brauchbares drin. Nur wenn ich die Quantifier-Versuche unterlasse bekomme ich mein Name-Attribut, und dann auch nur wenn es in double- oder singlequotes steht.
Bin für jeden Hinweis dankbar.
Gruß
Laura
-
PHP-Code:
"/<frame [^>]*name=([\"']?)([0-9a-zA-Z_\-]+)\\1[^>]*>/isU"
Markus Wulftange
Ähnliche Themen
-
Backreferenzing bei RegExp funktioniert nicht
Von tomate im Forum PHPAntworten: 5Letzter Beitrag: 09.02.10, 10:55 -
Template System - ist es eins oder ist es keins.
Von Lukasz im Forum PHPAntworten: 2Letzter Beitrag: 29.06.06, 08:08 -
RegExp Funktioniert nicht
Von Prophet05 im Forum PHPAntworten: 7Letzter Beitrag: 30.10.05, 11:03 -
RegExp - Backreference funktioniert nicht
Von Sven Petruschke im Forum PHPAntworten: 2Letzter Beitrag: 11.02.04, 18:06 -
es funktioniert nur eins******
Von Operator_Jon im Forum PHPAntworten: 10Letzter Beitrag: 02.08.03, 12:04





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren