Ich möchte Werte von Befehls-Tags (GET, FROM, IN, etc.) abrufen:
// My command
$_cmd = 'GET a, b FROM p IN a and c="I am from Sarajevo" or d>1 ';
// My parser
if(preg_match_all('/(GET|FROM|IN)\s+([^\s]+)/si',$_cmd, $m))
$cmd = array_combine($m[1], $m[2]);
Ausgabe:
Array
(
[GET] => a,
[FROM] => p
[IN] => a
[from] => Sarajevo"
)
Ich suche nach dieser Ausgabe:
Array
(
[GET] => a, b
[FROM] => p
[IN] => a and c="I am from Sarajevo" or d>1
)
Wie Sie sehen, liegt das Problem bei Leerräume y wiederholte Befehlstags in Zeichenketten (wie from
). Wie kann ich also diesen Befehl analysieren?