首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在PHP中将表情符号代码':)‘转换为笑脸表情

如何在PHP中将表情符号代码':)‘转换为笑脸表情
EN

Stack Overflow用户
提问于 2018-08-23 00:07:10
回答 2查看 5.5K关注 0票数 2

我想把表情符号代码":)“转换成。

我如何转换它?

目前我正在使用p3k检测器来检测表情符号。下面是我可以检测表情符号的代码。

代码语言:javascript
运行
复制
  $emoji = \Emoji\detect_emoji($text);
EN

回答 2

Stack Overflow用户

发布于 2018-08-23 00:12:32

您需要创建自己的函数来进行转换(或者,如果已经有任何库可以执行此操作,则可以在线搜索)。

代码语言:javascript
运行
复制
function stringToEmoji($str) {
    $emojis = [
        'o/'         => '',
        '</3'        => '',
        '<3'         => '',
        '8-D'        => '',
        '8D'         => '',
        ':-D'        => '',
        '=-3'        => '',
        '=-D'        => '',
        '=3'         => '',
        '=D'         => '',
        'B^D'        => '',
        'X-D'        => '',
        'XD'         => '',
        'x-D'        => '',
        'xD'         => '',
        ':\')'       => '',
        ':\'-)'      => '',
        ':-))'       => '',
        '8)'         => '',
        ':)'         => '',
        ':-)'        => '',
        ':3'         => '',
        ':D'         => '',
        ':]'         => '',
        ':^)'        => '',
        ':c)'        => '',
        ':o)'        => '',
        ':}'         => '',
        ':っ)'        => '',
        '=)'         => '',
        '=]'         => '',
        '0:)'        => '',
        '0:-)'       => '',
        '0:-3'       => '',
        '0:3'        => '',
        '0;^)'       => '',
        'O:-)'       => '',
        '3:)'        => '',
        '3:-)'       => '',
        '}:)'        => '',
        '}:-)'       => '',
        '*)'         => '',
        '*-)'        => '',
        ':-,'        => '',
        ';)'         => '',
        ';-)'        => '',
        ';-]'        => '',
        ';D'         => '',
        ';]'         => '',
        ';^)'        => '',
        ':-|'        => '',
        ':|'         => '',
        ':('         => '',
        ':-('        => '',
        ':-<'        => '',
        ':-['        => '',
        ':-c'        => '',
        ':<'         => '',
        ':['         => '',
        ':c'         => '',
        ':{'         => '',
        ':っC'        => '',
        '%)'         => '',
        '%-)'        => '',
        ':-P'        => '',
        ':-b'        => '',
        ':-p'        => '',
        ':-Þ'        => '',
        ':-þ'        => '',
        ':P'         => '',
        ':b'         => '',
        ':p'         => '',
        ':Þ'         => '',
        ':þ'         => '',
        ';('         => '',
        '=p'         => '',
        'X-P'        => '',
        'XP'         => '',
        'd:'         => '',
        'x-p'        => '',
        'xp'         => '',
        ':-||'       => '',
        ':@'         => '',
        ':-.'        => '',
        ':-/'        => '',
        ':/'         => '',
        ':L'         => '',
        ':S'         => '',
        ':\\'        => '',
        '=/'         => '',
        '=L'         => '',
        '=\\'        => '',
        ':\'('       => '',
        ':\'-('      => '',
        '^5'         => '',
        '^<_<'       => '',
        'o/\\o'      => '',
        '|-O'        => '',
        '|;-)'       => '',
        ':###..'     => '',
        ':-###..'    => '',
        'D-\':'      => '',
        'D8'         => '',
        'D:'         => '',
        'D:<'        => '',
        'D;'         => '',
        'D='         => '',
        'DX'         => '',
        'v.v'        => '',
        '8-0'        => '',
        ':-O'        => '',
        ':-o'        => '',
        ':O'         => '',
        ':o'         => '',
        'O-O'        => '',
        'O_O'        => '',
        'O_o'        => '',
        'o-o'        => '',
        'o_O'        => '',
        'o_o'        => '',
        ':$'         => '',
        '#-)'        => '',
        ':#'         => '',
        ':&'         => '',
        ':-#'        => '',
        ':-&'        => '',
        ':-X'        => '',
        ':X'         => '',
        ':-J'        => '',
        ':*'         => '',
        ':^*'        => '',
        'ಠ_ಠ'        => '',
        '*\\0/*'     => '',
        '\\o/'       => '',
        ':>'         => '',
        '>.<'        => '',
        '>:('        => '',
        '>:)'        => '',
        '>:-)'       => '',
        '>:/'        => '',
        '>:O'        => '',
        '>:P'        => '',
        '>:['        => '',
        '>:\\'       => '',
        '>;)'        => '',
        '>_>^'       => '',
        ];

    if(isset($emojis[$str])) {
        return $emojis[$str];
    }

    return null;
}

echo stringToEmoji(':)');

输出:

代码语言:javascript
运行
复制

从这个答案中获得列表:https://stackoverflow.com/a/29581503/1580044

票数 6
EN

Stack Overflow用户

发布于 2018-08-23 00:16:33

我不能在这里插入整个函数,因为它绕过了堆栈溢出字符限制。下面是它的链接:

https://gist.github.com/BarryMode/432a7a1f9621e824c8a3a23084a50f60#file-htmlemoji-php

简而言之,该函数是

代码语言:javascript
运行
复制
preg_replace_callback(pattern, callback, string);

其中字符串是您想要更改为html实体的表情符号的输入。pattern使用正则表达式在字符串中查找表情符号,然后将每个表情符号提供给回调,这是从表情符号到html实体的转换发生的地方。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51970951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档