最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

PHP中处理内容含有emoji表情的几种方式

XAMPP案例 中文小张 1457浏览 0评论

方法1: 数据库、表用utf8mb4编码

utf8mb4是4字节的utf8编码,可完美兼容旧的3字节utf8字符集,并且可以直接存储emoji表情。如果要用这种方式解决问题,那么PHP的版本需要>=5.5.3。

 

方法2: 使用base64编码

在存储至数据库时用base64_encode()函数将内容编码,然后在取出时再base64_decode()解码即可达到效果。

 

方法3: 使用json_encode / decode

此方法原理类似方法2,在存储至数据库时用json_encode()函数将内容编码,然后在取出时再json_decode()解码。

 

方法4: 替换/去除emoji表情

这种方式是最极端暴力的做法,直接将emoji表情去除掉或者替换为其他字符。替换的函数使用如下:

 

源码如下(可复制):


<?php

/**
 * 替换emoji表情
 * @author:xiangzhanyou
 * @date:20170706
 *
 * @param $str 要过滤emoji表情的内容
 * @param string $replace_str 要替换成的字符,默认是空
 * @return 返回替换后的字符串
 */function filterEmoji($str,$replace_str=''){
    $rs = preg_replace_callback(
        '/./u',
        function (array $match,$replace_str) {
            return strlen($match[0]) >= 4 ? $replace_str : $match[0];
        },
        $str
    );

    return $rs;}
 

转载请注明:XAMPP中文组官网 » PHP中处理内容含有emoji表情的几种方式

您必须 登录 才能发表评论!