PHP——emjoin表情存入数据库

时间:2023-03-08 17:41:05
PHP——emjoin表情存入数据库

前言

还有一种解决的方法是更改数据库,这里就不写了,这里直接对emoji进行转码

代码

mb_strlen() | strlen() | rawurlencode() | rawurldecode() | pre_replace_callback()

//对emoji表情转义
function emoji_encode($str){
$strEncode = '';
$length = mb_strlen($str,'utf-8');
for ($i=0; $i < $length; $i++) {
$_tmpStr = mb_substr($str,$i,1,'utf-8');
if(strlen($_tmpStr) >= 4){
$strEncode .= '[[emjoin:'.rawurlencode($_tmpStr).']]';
}else{
$strEncode .= $_tmpStr;
}
}
return $strEncode;
}
//对emoji表情反转义
function emoji_decode($str){
$strDecode = preg_replace_callback('|\[\[emjoin:(.*?)\]\]|', function($matches){
return rawurldecode($matches[1]);
}, $str); return $strDecode;
}

mb_strlen

PHP——emjoin表情存入数据库

strlen

PHP——emjoin表情存入数据库

rawurlencode

PHP——emjoin表情存入数据库

rawurldecode

PHP——emjoin表情存入数据库

pre_replace_callback

PHP——emjoin表情存入数据库