Moin,
ich habe folgendes Problem.
Ich habe eine Funktion, die ermittelt, ob ein Attribut-Name und ein Attribut-Wert in einem String sind.
Dies geschieht folgendermaßen.
Also kann das name=wert oder name="wert" sein.
Die regex für name und wert, können frei geändert werden, das heißt es kann dort /^[a-z]+$/ aber auch /^(xml:lang|[a-z]+(-[a-z]+|))$/ stehen.
Jetzt möchte ich durch diesen (ersten) regex den wert und den namen herausfiltern.
Das funktioniert für den namen auch einfach:
, da ich da immer die erste Gruppe habe.
Wie kann ich das ganze jedoch für den wert benutzen, bei dem ich nicht weiß, welche Gruppe der ist.
ich habe folgendes Problem.
Ich habe eine Funktion, die ermittelt, ob ein Attribut-Name und ein Attribut-Wert in einem String sind.
Dies geschieht folgendermaßen.
Code:
$regex = '/^'.$regex_für_name.'=("'.$regex_für_wert.'"|'.$regex_für_wert.')$/';
Die regex für name und wert, können frei geändert werden, das heißt es kann dort /^[a-z]+$/ aber auch /^(xml:lang|[a-z]+(-[a-z]+|))$/ stehen.
Jetzt möchte ich durch diesen (ersten) regex den wert und den namen herausfiltern.
Das funktioniert für den namen auch einfach:
Code:
preg_replace('/^('.$attribute_name_regex.')=("'.$attribute_value_regex.'"|'.$attribute_value_regex.')$/', '$1', $value)
Wie kann ich das ganze jedoch für den wert benutzen, bei dem ich nicht weiß, welche Gruppe der ist.