首页 > 其他 > 网站日记>正文

过滤微信昵称中的特殊字符

提示: 阅读权限:公开  

据说微信中的表情符号是utf8-mb4的,一个字符占4个字节,如果对应的mysql没有开启mb4的话,就会出错。

我在开发帝国cms微信登录的过程中,发现如果有特殊字符,不报错,但是一个insert指令会保存两条记录,妥妥的郁闷了。

以下为百度到的过滤特殊字符的办法,保留备用:

<?php
$aa="www.zhongyf.com";
$bb='hello '.'jiuhecai的龠网㋛站❧是★中薌qi药方⊙v9大全☺:'.$aa.PHP_EOL;
// 过滤掉emoji表情
function filterEmoji($str)
{
  $str = preg_replace_callback( '/./u',
      function (array $match) {
          echo strlen($match[0]).PHP_EOL;
        return strlen($match[0]) >= 4 ? '' : $match[0];
      },
      $str);
   return $str;
}
$username= filterEmoji($bb);
echo $username=addslashes(RepPostStr(RepPostVar($username)));
?>


上一篇:如何去掉php文件中的注释

下一篇:【帝国cms插件】微信登录免注册

tags: 特殊字符 移动互联网

返回首页

相关

热门

站内直通车

[!--temp.bottomnav--]
返回顶部