用户注册



邮箱:

密码:

用户登录


邮箱:

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

发表随想


还能输入: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、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

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

加载中,请稍后...