我们在通过PHP获取微信昵称,并且存于数据库的时候,由于一些昵称带有特殊符号,所以存不进去,这时候我们可以通过下面的方式来处理。
方法一:
protectedfunctionremoveEmoji($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表情functionfilterEmoji($str){ $str = preg_replace_callback('/./u',function{returnstrlen($match[0]) =4?'': $match[0]; }, $str);return$str;}