在与用户交互中,前端的长文本理论上是允许用户使用表情的,但是当前端将表情传到后台接口中的时候,由于部分数据的编码限制,是没有办法保存此类数据的。
我在此使用的方法是用正则转化文本中的表情符,然后从数据库中读取之后,在进行一次逆向正则即可。
【需要注意的是:表情符号转义成功后,亲测在微信中,浏览器中,还有手机端,会自动的匹配当前的表情符】
下面贴上代码
/** * 设置长文本内容 * * @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); }
本文永久地址:http://blog.it985.com/16082.html
本文出自IT985博客 ,转载时请注明出处及相应链接。