David: reguläre Ausdrücke

Beitrag lesen

Servus,

nachfolgender regulärer Ausddruck dient der Suche nach Tags wie sie in Foren vorkommen, z.B. [quote], [quote:af259def2], [quote:af259def2="username"]:

$searchstring = '/'.
'([[]'.$tagname.')'.  //  1 Start of Start-Tag
'((([:|=])([a-fA-F0-9]*))?)'. //  2 Optional: assignment sign, 3 Optional: Hex-Value
'((([:|=])(.|\n$)*)?)'. //  4 Optional: 2nd assignment,  5 Optional: any value
'([]])'.   //  6 End of Start-Tag
'((.|\n)+?)'.   //  7 Content
'([[][/]'.$tagname.')'. //  8 Start of End-Tag
'([:=]?)'.   //  9 Optional: assignment sign
'([a-fA-F0-9]*?)'.  // 10 Optional: Hex-Value
'([:=]?)'.   // 11 Optional: 2nd assignment
'((.|\n$)*?)'.   // 12 Optional: any value
'([]])'.   // 13 End of End-Tag
'/';

Wenn ich jetzt den ausdruck verwende wird mir der Username  jedoch vom Abschnitt 5 /...(.|\n$)*)?).../ gemeinsam mit Gleichheitszeichen und Anführungszeichen ausgegeben: ="username" statt username
Ich möchte gerne den usernamen ohne Anführungszeichen extrahieren und das Gleichheitszeichen durch 4 rausfiltern.

Falls der umliegende Code zum testen gewünscht ist, kann ich den auch gerne noch posten.

Vielen Dank
David