我正在使用Google,我获得的refresh_token有一个转义的正斜杠。虽然这应该是有效的JSON,但是API在调用refreshToken()时不会接受它。我正在尝试使用preg_replace删除反斜杠。
$access_token = "1\/MgotwOvbwZN9MVxH5PrLR2cpvX1EJl8omgYdA9rrjx8";
$access_token = preg_replace('/\\\//', '/', $access_token);我希望返回的字符串为:
"1/MgotwOvbwZN9MVxH5PrLR2cpvX1EJl8omgYdA9rrjx8";我尝试过各种表达式,但它要么不删除反斜杠,要么返回空字符串。请注意,我不想删除所有反斜杠,只有那些转义正斜杠。
发布于 2014-02-21 18:35:37
避免正则表达式,只需使用str_replace
$access_token = "1\/MgotwOvbwZN9MVxH5PrLR2cpvX1EJl8omgYdA9rrjx8";
$access_token = str_replace( '\/', '/', $access_token );
//=> 1/MgotwOvbwZN9MVxH5PrLR2cpvX1EJl8omgYdA9rrjx8发布于 2014-02-21 18:36:55
嗯,有一个标准的函数就是这样做的:stripslashes
因此,请避免regex,str_replace等。
它就像它所需要的一样简单:
$access_token = stripslashes($access_token);发布于 2014-02-21 18:36:05
您可以使用不同的分隔符。在这里,我选择使用~作为分隔符,而不是/。
$access_token = "1\/MgotwOvbwZN9MVxH5PrLR2cpvX1EJl8omgYdA9rrjx8";
$access_token = preg_replace('~\\\/~', '/', $access_token);
print $access_token;这将返回:
1/MgotwOvbwZN9MVxH5PrLR2cpvX1EJl8omgYdA9rrjx8https://stackoverflow.com/questions/21942437
复制相似问题