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
strlen
rawurlencode
rawurldecode
pre_replace_callback
学无止境,谦卑而行.