php正则表达式储存展示表情字符的方法

作者:袖梨 2022-06-25

在与用户交互中,前端的长文本理论上是允许用户使用表情的,但是当前端将表情传到后台接口中的时候,由于部分数据的编码限制,是没有办法保存此类数据的。

我在此使用的方法是用正则转化文本中的表情符,然后从数据库中读取之后,在进行一次逆向正则即可。

【需要注意的是:表情符号转义成功后,亲测在微信中,浏览器中,还有手机端,会自动的匹配当前的表情符】

下面贴上代码

/**
 * 设置长文本内容
 *
 * @param $content
 * @return mixed
 */
public function setContent($content){
    return preg_replace_callback('/[xf0-xf7].{3}/', function($r) { return '@E' . base64_encode($r[0]);}, $content);  
}
 
 /**
 * 得到处理后的长文本内容
 *
 * @param $content
 * @return mixed
 */
public function getContent($content){
    return preg_replace_callback('/@E(.{6}==)/', function($r) {return base64_decode($r[1]);}, $content);
}

相关文章

精彩推荐