PHP正则过滤处理微信昵称中emoji字符的方法

 更新时间:2018年06月25日 11:38:56   作者:tornge  
这篇文章主要介绍了PHP正则过滤处理微信昵称中emoji字符的方法,结合实例形式分析了php基于正则过滤删除微信昵称中emoji字符的相关操作技巧,并附带了一个简单的正则回调过滤操作示例,需要的朋友可以参考下

本文实例讲述了PHP正则过滤处理微信昵称中emoji字符的方法。分享给大家供大家参考,具体如下:

今天刚做了一个微信应用,在获取微信昵称的过程中报错了,经查原因是微信昵称中包含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;
}

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php正则表达式用法总结》、《php程序设计安全教程》、《php安全过滤技巧总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php字符串(string)用法总结》及《php+mysql数据库操作入门教程

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • PHP Web表单生成器案例分析

    PHP Web表单生成器案例分析

    这篇文章主要介绍了PHP Web表单生成器,结合具体案例形式分析了PHP Web表单生成器基本功能需求、实现方法与操作注意事项,需要的朋友可以参考下
    2020-06-06
  • php浏览历史记录的方法

    php浏览历史记录的方法

    这篇文章主要介绍了php浏览历史记录的方法,涉及php操作cookie的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • header与缓冲区之间的深层次分析

    header与缓冲区之间的深层次分析

    实际的开发中,大家是否听说过在header之前不能有任何的实际输出。甚至有的认为header函数必须写在代码的最前面。可是你是否试验过header函数之前输出东西?下来让我们更深层次的了解一下
    2016-07-07
  • PHP获取数组最后一个值的2种方法

    PHP获取数组最后一个值的2种方法

    这篇文章主要介绍了PHP获取数组最后一个值的2种方法,本文直接给出实现代码,代码中包含注释,需要的朋友可以参考下
    2015-01-01
  • 解析php file_exists无效的解决办法

    解析php file_exists无效的解决办法

    本篇文章是对php中file_exists无效的解决办法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP网站基础优化方法小结

    PHP网站基础优化方法小结

    以下这些基础技巧可以让你的PHP网站运行得更快一些。
    2008-09-09
  • php+ajax 文件上传代码实例

    php+ajax 文件上传代码实例

    这篇文章主要介绍了php+ajax的文件上传,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • php禁止某ip或ip地址段访问的方法

    php禁止某ip或ip地址段访问的方法

    这篇文章主要介绍了php禁止某ip或ip地址段访问的方法,涉及服务器变量$_SERVER、文件及字符串的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • php获取错误信息的方法

    php获取错误信息的方法

    这篇文章主要介绍了php获取错误信息的方法,涉及php针对错误处理的常用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 浅谈PHP封装CURL

    浅谈PHP封装CURL

    这篇文章主要介绍了PHP如何封装CURL,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03

最新评论