php对emoji处理函数

/*
 * emoji编码函数
 * @author E
 */
function user_text_encode($str){
    if(!is_string($str))return $str;
    if(!$str || $str=='undefined')return '';

    $text = json_encode($str); //暴露出unicode
    $text = preg_replace_callback("/(\\\u[ed][0-9a-f]{3})/i",function($str){
        return addslashes($str[0]);
    },$text); //将emoji的unicode留下,这里的正则比原来增加了d,很多emoji实际上是\ud开头的,反而没发现有\ue开头。
    return json_decode($text);
}

/*
 * emoji解码函数
 * @author E
 */
function  user_text_decode($str){
    $text = json_encode($str); //暴露出unicode
    $text = preg_replace_callback('/\\\\\\\\/i', function ($str) {
        return '\\';
    }, $text); //将两条斜杠变成一条
    return json_decode($text);
}
/*
 * emoji过滤函数
 * @author E
 */
function filter_emoji($data){
    if(is_array($data) && !empty($data)){
        foreach ($data as $k=>$v){
            if(is_array($v) && !empty($v)){
                $data[$k] = filter_emoji($v);
            }else{
                $v = json_encode($v);
                $data[$k] = json_decode(preg_replace("/(\\\u[ed][0-9a-f]{3})/i","",$v));
            }
        }
    }
    return $data;
}

广告

给大家推荐几个好用的工具

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了金华免费建站欢迎大家使用!

  1. 时间校验工具
  2. ip查询工具
  3. 二维码生成工具
  4. json格式化工具
  5. 时间缀-时间转换工具

分享名称:php对emoji处理函数
标题来源:http://azwzsj.com/article/jpcpsc.html