PHP处理微信昵称特殊符号过滤方法

 
更多

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

方法1:

protected function removeEmoji($clean_text) {
 
    // Match Emoticons
    $regexEmoticons = '/[\x{1F600}-\x{1F64F}]/u';
    $clean_text = preg_replace($regexEmoticons, '', $clean_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;
}

方法2:

preg_replace("/[\x{1F600}-\x{1F64F}\x{1F300}-\x{1F5FF}\x{1F680}-\x{1F6FF}\x{2600}-\x{26FF}\x{2700}-\x{27BF}]/u","","这里是昵称")

方法3:

// 过滤掉emoji表情
function filterEmoji($str){
  $str = preg_replace_callback( '/./u',
      function (array $match) {
        return strlen($match[0]) >= 4 ? '' : $match[0];
      },
      $str);
   return $str;
}

此方案并非完美解决方案,请参考:<MySQL存emoji表情>

打赏

本文固定链接: https://www.cxy163.net/archives/2880 | 绝缘体

该日志由 绝缘体.. 于 2016年10月29日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: PHP处理微信昵称特殊符号过滤方法 | 绝缘体
关键字: , , , ,

PHP处理微信昵称特殊符号过滤方法:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter