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

yipeiwu_com6年前PHP代码库

本文实例讲述了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+redis实现的购物车单例类示例

本文实例讲述了PHP+redis实现的购物车单例类。分享给大家供大家参考,具体如下: <?php /** * 购物车单例类 * * @author YING *...

PHP5多态性与动态绑定介绍

什么是多态性? 多态性是继数据抽象和继承后,面向对象语言的第三个特征。从字面上理解,多态的意思是“多种形态”,简单来说,多态是具有表现多种形态的能力的特征,在OO中是指“语言具有根据对象...

php封装的pdo数据库操作工具类与用法示例

本文实例讲述了php封装的pdo数据库操作工具类与用法。分享给大家供大家参考,具体如下: <?php header("Content-Type:text/html;ch...

基于PHP服务端图片生成缩略图的方法详解

复制代码 代码如下:<?php//定义缩略图片尺寸$picSize = array(        ...

既简单又安全的PHP验证码 附调用方法

既简单又安全的PHP验证码 附调用方法

一、验证码示例 二、php验证码类,secoder.class.php <?php /** * 安全验证码 * * 安全的验证码要:验证码文字扭曲、旋...