php过滤微信用户昵称emoji表情方法汇总

微信用户昵称带emoji表情的话,保存数据库会报错,解决办法有两种:一、修改数据库表和字段的字符集为utf8mb4;二、过滤emoji表情字符;根据自己的需求来选择。

这里主要介绍第二种方法,PHP过滤昵称表情这里主要有如下四种:

public function test() {

//$str = "爱心\uD83E\uDD14";

$str = "爱心爱心?";

// echo $this->emoji_encode($str);

// echo $this->filterNickname($str);

// echo $this->filterEmoji($str);

echo $this->emoji_encode(json_encode(json_decode($str)))."|";

echo $this->filterNickname(json_encode($str))."|";

echo $this->filterEmoji(json_encode($str))."|";

}

function filterEmoji($str)

{

$str = preg_replace_callback( '/./u',

function (array $match) {

return strlen($match[0]) >= 4 ? '' : $match[0];

},

$str);

return $str;

}

private function emoji_encode($nickname){

$strEncode = '';

$length = mb_strlen($nickname,'utf-8');

for ($i=0; $i < $length; $i++) { $_tmpStr = mb_substr($nickname,$i,1,'utf-8'); if(strlen($_tmpStr) >= 4){

$strEncode .= '[[EMOJI:'.rawurlencode($_tmpStr).']]';

}else{

$strEncode .= $_tmpStr;

}

}

return $strEncode;

}

function filterNickname($nickname) {

$nickname = preg_replace('/[\x{1F600}-\x{1F64F}]/u', '', $nickname);

$nickname = preg_replace('/[\x{1F300}-\x{1F5FF}]/u', '', $nickname);

$nickname = preg_replace('/[\x{1F680}-\x{1F6FF}]/u', '', $nickname);

$nickname = preg_replace('/[\x{2600}-\x{26FF}]/u', '', $nickname);

$nickname = preg_replace('/[\x{2700}-\x{27BF}]/u', '', $nickname);

$nickname = str_replace(array('"','\''), '', $nickname);

return addslashes(trim($nickname));

}

旗云号 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权

转载请注明原文链接:php过滤微信用户昵称emoji表情方法汇总

emoji昵称php,php过滤微信用户昵称emoji表情方法汇总 - 旗云号相关推荐

  1. mysql 微信昵称怎么保存_mysql 微信用户昵称emoji 完整保存

    微信用户昵称现在丰富多样,一些个性的名称中经常包含有特殊字符,以及emoji表情.起先,我总以为mysql只能保存纯文本数据.但其实mysql(5.7版本)已非常强大,完整保存微信用户昵称(emoji ...

  2. mysql存储用户昵称_mysql 微信用户昵称 emoji 完整保存 - 人人都是架构师

    微信用户昵称现在丰富多样,一些个性的名称中经常包含有特殊字符,以及emoji表情.起先,我总以为mysql只能保存纯文本数据.但其实mysql(5.7版本)已非常强大,完整保存微信用户昵称(emoji ...

  3. mysql 微信用户昵称 emoji 完整保存

    微信用户昵称现在丰富多样,一些个性的名称中经常包含有特殊字符,以及emoji表情.起先,我总以为mysql只能保存纯文本数据.但其实mysql(5.7版本)已非常强大,完整保存微信用户昵称(emoji ...

  4. 微信昵称 mysql_mysql 微信用户昵称emoji 完整保存

    微信用户昵称现在丰富多样,一些个性的名称中经常包含有特殊字符,以及emoji表情.起先,我总以为MySQL只能保存纯文本数据.但其实mysql(5.7版本)已非常强大,完整保存微信用户昵称(emoji ...

  5. 微信小程序抓包方法汇总

    前言 ios端和mac用户可以忽略以下内容,本文针对于windows端和android端的微信无法抓取小程序数据包提出相关解决方案. 分析 Android7. 0及以上的系统中,每个应用可以定义自己的 ...

  6. win7设置计算机临时用户,Win7小技巧:用户账户自动登录方法汇总

    Win7之家( www.win7china.com):Win7小技巧:用户账户自动登录方法汇总 为了计算机安全,相信使用Windows7系统的朋友大多都为自己的用户账户设置了或简单或复杂的密码,其实对 ...

  7. mysql数据库:微信用户昵称emoji 怎么保存到数据库中。

    我单位的小姐姐  也满逗的   每次测试微信公众号  总会报错.如下图: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x91\xA ...

  8. 获取微信昵称乱码php,Android 微信登录昵称乱码问题,及获取微信用户信息

    微信第三方登录时昵称,username乱码问题解决方法如下: /** * 获取微信用户信息 * @param access_token 调用凭证 * @param openid 普通用户的标识,对当前 ...

  9. php 过滤微信符号昵称,PHP方法处理微信昵称特殊符号过滤

    我们在通过PHP获取微信昵称,并且存于数据库的时候,由于一些昵称带有特殊符号,所以存不进去,这时候我们可以通过下面的方式来处理. 方法二 protected function removeEmoji( ...

最新文章

  1. 蓝凌ekp开发_蓝凌EKP8.0产品白皮书(简).doc
  2. strcat()函数常见问题
  3. springboot处理参数再转发请求_SpringBoot是如何解析HTTP参数的
  4. 数据可视化|实验一 绘图基础语法和常用参数
  5. phpMyAdmin 尝试连接到MySQL 服务器的错误解决方法
  6. linux nginx 系统服务,linux 把nginx加入到系统服务的方法
  7. Kafka的消费语义
  8. 第三篇 层次类非线性表的编程实验 第10章 应用经典二叉树编程
  9. Oracle 10g RMAN 跨平台迁移
  10. 物联网培训总结(C#)
  11. 专业级频谱测试软件,手机频谱仪测试软件
  12. C语言链表详解(通俗易懂)
  13. ps怎么对比原图快捷键_ps快捷键对比
  14. 行人重识别论文阅读7-基于图卷积的行人骨架识别
  15. 卡通渲染的3D电影《苹果核战记》
  16. 经验 | 本硕985回忆研究生这三年
  17. Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇)
  18. Matlab Plot添加图名、图例、坐标轴名、坐标网格;画虚线、点划线、两条线;更改字体、字号、轴正方
  19. [pandas] DataFrame 取指定列为某些值的行
  20. 三大巨头遥遥领先!亚马逊云服务领跑亚太第一,阿里微软紧随其后,腾讯谷歌百度进入前六 | 美通社头条...

热门文章

  1. Springboot毕业设计毕设作品,学生信息管理和新生报到系统 开题报告
  2. _ 10. 控制器和存储器一起组成了计算机核心——中央处理器,安徽2014年会计从业资格考试试题:会计电算化(第一套)...
  3. 说说IT企业固定资产管理系统的问题和解决方法
  4. 在ABP中通过EF直接执行原生Sql的解决方案
  5. 获取微博内容的文字以及表情
  6. FilterSecurityInterceptor源码解读
  7. 聚能聊每周精选 第十九期
  8. 对付“网络特工”软件的无可奈何的方法
  9. 微信小程序Canvas绘制曲线图饼图柱状图雷达图蛛网图实现(附源码)
  10. 点开,看一段,你就会喜欢上学习pandas,你该这么学!No.3