Laravel 小程序受權用戶暱稱帶符號獲取不到受權用戶信息的問題

因爲有些微信用戶的暱稱是帶表情符號的,受權存用戶暱稱的時候因爲數據庫類型問題存不進去,改了數據庫類型也不行,因此就找了一些過濾方法, 親測有效:數據庫

註冊接口json

public function register(Request $request){微信

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

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

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

    $nickname = $this->filter($nickname_new);//過濾後的用戶暱稱   以後直接判斷用戶是否受權而後儲存數據庫就行input

}io

過濾接口function

/**request

* $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;

}

而後問題就解決了。

相關文章
相關標籤/搜索