我正在尝试在PHP中解构我的HTTP标头'Authorization',因此决定使用RegEx,但是(我很新,请原谅我)它只返回第一个匹配而不是所有匹配。
这是我的RegEx:
(oauth_\w+)=([^"]+),?
这是一个测试字符串:
oauth_nonce=AB00E4270DF844E1882E25D19905350A,oauth_version=1.0,oauth_timestamp=1418827216.70618,oauth_signature=UpUl8GDANYML+xivYEdWZjO1U6A=,oauth_consumer_key=publica5d53e674542272aefc2ea8ebf99bf9d771ed2b089bdfd1fbb74b5de69,oauth_signature_method=HMAC-SHA1
PHP代码:
preg_match_all('/(oauth_\w+)=([^"]+),?/', getallheaders()['Authorization'], $authorization_values, PREG_PATTERN_ORDER);
这是PHP方法输出的内容
[0] => Array
(
[0] => oauth_nonce=AB00E4270DF844E1882E25D19905350A,oauth_version=1.0,oauth_timestamp=1418827216.70618,oauth_signature=UpUl8GDANYML+xivYEdWZjO1U6A=,oauth_consumer_key=publica5d53e674542272aefc2ea8ebf99bf9d771ed2b089bdfd1fbb74b5de69,oauth_signature_method=HMAC-SHA1
)
[1] => Array
(
[0] => oauth_nonce
)
[2] => Array
(
[0] => AB00E4270DF844E1882E25D19905350A,oauth_version=1.0,oauth_timestamp=1418827216.70618,oauth_signature=UpUl8GDANYML+xivYEdWZjO1U6A=,oauth_consumer_key=publica5d53e674542272aefc2ea8ebf99bf9d771ed2b089bdfd1fbb74b5de69,oauth_signature_method=HMAC-SHA1
)