欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  神坛PHP

PHP处理字符中的emoji表情

程序员文章站 2021-12-20 21:38:26
...

目录

判断字符串中是否含有 emoji 表情

移除字符串中的 emoji 表情

含有 emoji 表情的字符串在 MySQL 中的储存


一、判断字符串中是否含有 emoji 表情

function haveEmojiChar($str)

{

    $mbLen = mb_strlen($str);

    $strArr = [];

    for ($i = 0; $i < $mbLen; $i++) {

        $strArr[] = mb_substr($str, $i, 1, 'utf-8');

        if (strlen($strArr[$i]) >= 4) {

            return true;

        }

    }

    return false;

}


二、移除字符串中的 emoji 表情


function removeEmojiChar($str)

{

    $mbLen = mb_strlen($str);

    $strArr = [];

    for ($i = 0; $i < $mbLen; $i++) {

        $mbSubstr = mb_substr($str, $i, 1, 'utf-8');

        if (strlen($mbSubstr) >= 4) {

            continue;

        }

        $strArr[] = $mbSubstr;

    }

    return implode('', $strArr);

}


三、含有 emoji 表情的字符串在 MySQL 中的储存

1、MySQL 中使用 utf8mb4 字符集。

2、PHP 对字符串进行 base64 编码,从数据库中取出时再对字符串进行解码。

3、直接移除字符串中的 emoji 表情(该方法简单粗暴)