用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - php代码库

过滤掉emoji等无法存入MySQL数据库的字符

2016-07-15 作者: 闲庭信步举报

[php]代码库

/**
*方法一:
*匹配中英文、以及数字等过滤掉emoji
*最后字符串中只剩下中英文、以及数字
*/
function delEmomji($str){
     
    $pattern = '/[\w\x{4e00}-\x{9fa5}]+/u';
     
    preg_match_all($pattern,$str,$matchs);
     
    //遍历匹配结果
 
    $result = '';
     
    foreach($matchs[0] as $value){
 
         
        $result.= $value;
     
    }
     
    return $result;
 
}
/**
*方法二:
* 直接删除法
* 由于单个emoji字符的长度为4个字节,而我们使用的MySQL数据的utf-8编码最长只支持3字节字符,
* 所以插入emoji表情时会报错,最终的解决方案是将MySQL的编码修改为utf8mb4。
*/
 
function filterEmoji($str)
{
    $str = preg_replace_callback(
        '/./u',
        function (array $match) {
            return strlen($match[0]) >= 4 ? '' : $match[0];
        },
 
        $str);
 
    return $str;
}


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...