提问人:KRISHN4 提问时间:3/2/2023 更新时间:3/2/2023 访问量:59
preg_match_all不工作或显示结果
preg_match_all is not working or showing result
问:
{"popUp":false,"token":"NS2938f08ubjk765vhjJBKJB78vhjeec1_m1_7"}
这是JSON中的curl响应,我想从这个JSON响应中提取令牌。
我使用了preg_match_all函数,但它显示 null
这是我的代码
preg_match_all('/^"token":"\s*([^;]*)/mi', $result, $matches);
$token = array();
foreach($matches[1] as $item) {
parse_str($item, $newtkn);
$token = array_merge($token, $newtkn);
}
var_dump($newtkn)
我想将该令牌存储在$newtkn变量中并将其回显到屏幕上,我该怎么做?
答:
0赞
Matthiaasr
3/2/2023
#1
可能更容易使用 json_decode(),如下所示:
$result = '{"popUp":false,"token":"NS2938f08ubjk765vhjJBKJB78vhjeec1_m1_7"}';
$arr = json_decode($result, true);
$newtkn = $arr['token'];
echo $newtkn; //NS2938f08ubjk765vhjJBKJB78vhjeec1_m1_7
或者,如果您更喜欢定向对象答案:
$result = '{"popUp":false,"token":"NS2938f08ubjk765vhjJBKJB78vhjeec1_m1_7"}';
$obj = json_decode($result);
$newtkn = $obj->token;
echo $newtkn; //NS2938f08ubjk765vhjJBKJB78vhjeec1_m1_7
评论
preg_match_all('/"token":"([^"]*)"/mi', $result, $matches)
^
"token"