Phpcmsv9文章内容怎样收集过虑Emoji小表情

2021-04-03 03:09

假如你的mysql版本号 =5.5.3,你可以以试着立即将utf8立即升級为utf8mb4标识符集,数据信息上无需做变换,大部分不容易有遗失。自然,还记得设定前尽可能先备份数据好再实际操作。

那样,4字节数的utf8编号可极致适配旧的3字节数utf8标识符集,而且能够立即储存emoji小表情,对于字节数扩大产生的特性消耗,中小型新项目能够忽略。

实际方式:改动phpcms/libs/functions/extention.func.php文档,添加下列Emoj过虑涵数。

//过虑掉emoji小表情 @齐鲁建网站 function filterEmoji($str){ $str = preg_replace_callback( /./u , function (array $match) { return strlen($match[0]) = 4 ? : $match[0]; $str);  return $str;

这一过虑涵数的基本原理是:解析xml标识符串中的每一个标识符,假如该标识符的长短为4个字节数,就将其删掉。

或是应用这一涵数过虑还可以:

//过虑掉emoji小表情 @齐鲁建网站 function filterEmoji($string){ $regex_emoticons = /[\x{1F600}-\x{1F64F}]/u $clear_string = preg_replace($regex_emoticons, , $string); $regex_symbols = /[\x{1F300}-\x{1F5FF}]/u $clear_string = preg_replace($regex_symbols, , $clear_string); $regex_transport = /[\x{1F680}-\x{1F6FF}]/u $clear_string = preg_replace($regex_transport, , $clear_string); $regex_misc = /[\x{2600}-\x{26FF}]/u $clear_string = preg_replace($regex_misc, , $clear_string); $regex_dingbats = /[\x{2700}-\x{27BF}]/u $clear_string = preg_replace($regex_dingbats, , $clear_string); return $clear_string;

这一过虑涵数的基本原理是:解析xml标识符串中的标识符,分辨更换。

以后,改动內容实体模型文档phpcms/model/content_model.class.php中的public function add_content涵数中,在$id = $[ id ] = $this- insert($,true);数据信息进库前对content內容过虑:

//过虑中Emoji小表情 @齐鲁建网站 $[ content ] = filterEmoji($[ content

那样把Emoji小表情过虑掉。

之上便是有关PHPCMS过虑Emoji小表情的全部內容,举一反三,相近的方式,还能够应用base64把內容先编号变换储存到数据信息库,以后在启用的情况下再decode,这都不失为一个方式。



扫描二维码分享到微信

在线咨询
联系电话

020-66889888