这篇文章主要为大家详细介绍了php过滤掉emoji等无法存入MySQL数据库的字符简单示例,具有一定的参考价值,可以用来参考一下。
对php过滤掉emoji等无法存入MySQL数据库的字符简单示例感兴趣的小伙伴,下面一起跟随四海网的小编巴闭妹来看看吧!
/**
*
* @param
* @arrange (512.笔记) www.q1010.com
**/
/**
*方法一:
*匹配中英文、以及数字等过滤掉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;
}
本文来自:http://www.q1010.com/173/11056-0.html
注:关于php过滤掉emoji等无法存入MySQL数据库的字符简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。