您的位置:首页 > 编程语言 > PHP开发

Laravel 小程序授权用户昵称带符号获取不到授权用户信息的问题 3ff8

2018-08-10 17:52 676 查看
由于有些微信用户的昵称是带表情符号的,授权存用户昵称的时候由于数据库类型问题存不进去,改了数据库类型也不行,所以就找了一些过滤方法, 亲测有效:

注册接口

public function register(Request $request){

$avatar = $request->input("userimage");

$nickname_new = $request->input("username");

$weixin_openid = $request->input("openid");

$nickname = $this->filter($nickname_new);//过滤后的用户昵称 之后直接判断用户是否授权然后储存数据库就行

}

过滤接口

/**

* $str 微信昵称

**/

public function filter($str) {

if($str){

$name = $str;

$name = preg_replace('/\xEE[\x80-\xBF][\x80-\xBF]|\xEF[\x81-\x83][\x80-\xBF]/', '', $name);

$name = preg_replace('/xE0[x80-x9F][x80-xBF]‘.‘|xED[xA0-xBF][x80-xBF]/S','?', $name);

$return = json_decode(preg_replace("#(\\\ud[0-9a-f]{3})#","",json_encode($name)));

}else{

$return = '';

}

return $return;

}

然后问题就解决了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OpenID Laravel