我有一种来自API Get-request的字符串:
1:ncol(data)
我想提取X-CSRF-Token,后面列出了: x-csrf-token:。
在这种情况下,它将是
dZgtpkwUMaN-gQ1X4QEXUw ==
我如何以最好的方式做到这一点?
我是否使用preg_match_all?但那么,我有点失落。 谢谢你的任何建议。
答案 0 :(得分:2)
这个正则表达式将起作用
x-csrf-token:(.*?)(?=\w+:)
<强> Regex Demo 强>
PHP代码
$re = "/x-csrf-token:(.*?)(?=\\w+:)/m";
preg_match_all($re, $str, $matches);
print_r($matches[1]);
<强> Ideone Demo 强>
更好的解决方案是在\w+:
之外有空格时停止(假设空格不能成为x-csrf-token
的一部分)
x-csrf-token:\s*(.*?)(?=\w+:|\s)
答案 1 :(得分:0)
您可以将csrf-token: (.*?==)
与preg_match_all一起使用,即:
preg_match_all('/csrf-token: (.*?==)/im', $string, $token, PREG_PATTERN_ORDER);
$token = $token[1][0];
echo $token;
//dZgtpkwUMaN-gQ1X4QEXUw==