我想把表情符号代码":)“转换成。
我如何转换它?
目前我正在使用p3k检测器来检测表情符号。下面是我可以检测表情符号的代码。
$emoji = \Emoji\detect_emoji($text);
发布于 2018-08-23 00:12:32
您需要创建自己的函数来进行转换(或者,如果已经有任何库可以执行此操作,则可以在线搜索)。
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(':)');
输出:
从这个答案中获得列表:https://stackoverflow.com/a/29581503/1580044
发布于 2018-08-23 00:16:33
我不能在这里插入整个函数,因为它绕过了堆栈溢出字符限制。下面是它的链接:
https://gist.github.com/BarryMode/432a7a1f9621e824c8a3a23084a50f60#file-htmlemoji-php
简而言之,该函数是
preg_replace_callback(pattern, callback, string);
其中字符串是您想要更改为html实体的表情符号的输入。pattern使用正则表达式在字符串中查找表情符号,然后将每个表情符号提供给回调,这是从表情符号到html实体的转换发生的地方。
https://stackoverflow.com/questions/51970951
复制相似问题