PHP处理微信昵称emoji方法
2016-04-28 11:17
357 查看
今天刚做了一个微信应用,在获取微信昵称的过程中报错了,经查原因是微信昵称中包含emoji字符,在写入数据库的时候出错,所以想办法在写入之前把这些字符过滤掉,于是在网上找到一个方法,记录一下。
移除微信昵称中的emoji字符:
function removeEmoji($nickname) { $clean_text = ""; // Match Emoticons $regexEmoticons = '/[\x{1F600}-\x{1F64F}]/u'; $clean_text = preg_replace($regexEmoticons, '', $text); // Match Miscellaneous Symbols and Pictographs $regexSymbols = '/[\x{1F300}-\x{1F5FF}]/u'; $clean_text = preg_replace($regexSymbols, '', $clean_text); // Match Transport And Map Symbols $regexTransport = '/[\x{1F680}-\x{1F6FF}]/u'; $clean_text = preg_replace($regexTransport, '', $clean_text); // Match Miscellaneous Symbols $regexMisc = '/[\x{2600}-\x{26FF}]/u'; $clean_text = preg_replace($regexMisc, '', $clean_text); // Match Dingbats $regexDingbats = '/[\x{2700}-\x{27BF}]/u'; $clean_text = preg_replace($regexDingbats, '', $clean_text); return $clean_text; }
另外还发现一个github开源应用,还没有研究测试。
https://github.com/iamcal/php-emoji
补充:今天又在网上找到一个更简单的方法
// 过滤掉emoji表情
function filterEmoji($str) { $str = preg_replace_callback( '/./u', function (array $match) { return strlen($match[0]) >= 4 ? '' : $match[0]; }, $str); return $str; }
9911
相关文章推荐
- 微信支付 php 公众平台及移动端服务器
- 微信公众平台——获取用户信息
- 高大上的微信公众号养成记
- 填平友盟社会化分享之---微信分享的坑
- 微信公众号线上和线下增粉秘籍:
- 微信看呆!阿里钉钉宣布推出多人视频会议:免费高清
- 微商城分销系统软件首选—好分销微信三级分销系统源码定制
- 微信公众平台开发之申请微信开发测试号及花生壳内网映射
- js 小程序 计算器
- Android 自定义本地图片加载库,仿微信相册
- 解决微信安卓SDK获取用户昵称时中文乱码的问题
- 微信订阅号
- 微信企业红包开发签名一样一直提示签名错误的解决办法
- nrf51822 --- 微信移植 (官方例子移植到SDK10.0)
- 微信网页动画---swiper.animate.css
- 模拟UA实现访问只能在微信上打开的网页
- iOS 微信分享整理 - 自定义分享菜单
- 使用ShareSDK完成第三方(QQ、微信、微博)登录和分享
- 微信 js-sdk
- 微信扫一扫自动连接wifi配置