正则特殊字符emoji表情"/>
php正则特殊字符emoji表情
/*** 过滤掉含韩语、日语等非汉字、纯英文、纯数字* 汉字加数字、英文 ok* 可能有特殊字符* */$str = " love,poem";
//$str = " 日音•推荐";
//$str = "李易峰情人节在家烤全羊 ";//$str=" 早安,厦门";
//$str=" 你能做什么?献血,现在献血,经常献血";
//$str=" 新疆,亚克西!";
//$str = "EXID(이엑스아이디)";
//$str = "GFriend(여자친구)";
//$str = "Surface Pro (2017)";
//$str = "首尔 (서울)";
//$str = "首尔 (서울)北京 英文(中文(!,";
//$str = "Php中文";var_dump(filterTitle($str));function filterTitle($title) {$title = trim($title);$str = filterEmoji($title);$specialChar = " ::()()%%/\\|、-_—+!!·•??,,。.“”‘’\"'&《》<>「」…";$regSpecialChar = "/[" . preg_quote($specialChar, "/") . "]+/u";$strReplace = preg_replace($regSpecialChar, "", $str);//纯英文 纯数字$reg = "/^[a-z0-9\s]+$/iu";preg_match($reg, $strReplace, $match);if ($match) {return false;}/*** 三种空格unicode(\u00A0,\u0020,\u3000)表示的区别* 1.不间断空格\u00A0,主要用在office中,让一个单词在结尾处不会换行显示,快捷键ctrl+shift+space ,trim去不掉* 2.半角空格(英文符号)\u0020,代码中常用的;* 3.全角空格(中文符号)\u3000,中文文章中使用;*/$chineseCharReg = "/[\x{4e00}-\x{9fa5}0-9a-z\x{00a0}]+/iu";$strReplace = preg_replace($chineseCharReg, "", $strReplace);if ($strReplace) {return false;}return true;
}// 过滤掉emoji表情
function filterEmoji($str) {$str = preg_replace_callback("/./u",function (array $match) {return strlen($match[0]) >= 4 ? '' : $match[0];},$str);return $str;
}
更多推荐
php正则特殊字符emoji表情
发布评论