我们在通过PHP获取微信昵称,并且存于数据库的时候,由于一些昵称带有特殊符号,所以存不进去,这时候我们可以通过下面的方式来处理。
方法一
protected function removeEmoji(``$clean_text``) {
``// Match Emoticons
``$regexEmoticons = ``'/[\x{1F600}-\x{1F64F}]/u'``;
``$clean_text = preg_replace(``$regexEmoticons``, ``''``, ``$clean_text``);
``// Match Miscellaneous Symbols and Pictographs
``$regexSymbols = ``'/[\x{1F300}-\x{1F5FF}]/u'``;
``$clean_text = preg_replace(``$regexSymbols``, ``''``, ``$clean_text``);
``// Match Transport And Map Symbols
``$regexTransport = ``'/[\x{1F680}-\x{1F6FF}]/u'``;
``$clean_text = preg_replace(``$regexTransport``, ``''``, ``$clean_text``);
``// Match Miscellaneous Symbols
``$regexMisc = ``'/[\x{2600}-\x{26FF}]/u'``;
``$clean_text = preg_replace(``$regexMisc``, ``''``, ``$clean_text``);
``// Match Dingbats
``$regexDingbats = ``'/[\x{2700}-\x{27BF}]/u'``;
``$clean_text = preg_replace(``$regexDingbats``, ``''``, ``$clean_text``);
``return $clean_text``;
}
方法二
preg_replace(``"/[\x{1F600}-\x{1F64F}\x{1F300}-\x{1F5FF}\x{1F680}-\x{1F6FF}\x{2600}-\x{26FF}\x{2700}-\x{27BF}]/u"``,``""``,``"这里是昵称"``)
方法三
// 过滤掉emoji表情
function filterEmoji(``$str``){
``$str = preg_replace_callback( ``'/./u'``,
``function (``array $match``) {
``return strlen``(``$match``[0]) >= 4 ? ``'' : ``$match``[0];
``},
``$str``);
``return $str``;
}
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。