Hey çocuklar, PHP regex hakkında bir soru!
Verilen model için, tür bir kabuk terminali sözdizimi gibi:
application>function -arg1 value -arg2 value -arg3 value -arg4 value
Ben argümanları ayrıştırmak istiyorum. Bu benim regex kodu
$command=' -arg1 value -arg2 value -arg3 value -arg4 value ';
// note the string begins by a space character and ends by a space character
// now i'm trying to parse arguments
$cmd->arguments=new \stdClass();
preg_replace('`\s-(.*)\s([a-zA-Z0-9-_]*)\s`Ue',
'$cmd->arguments->$1="$2";',$command);
// this regex will pick one matching out of two and returns
$cmd->arguments=stdClass(
[arg1]=>value,
[arg3]=>value
)
arg2 ve arg4 atlanır. Herhangi bir fikir neden? Şimdiden teşekkürler!