扫码关注官方订阅号
1.过滤正常QQ号 (QQ:8141334) 2.忽略网址中出现的数字串如:http://bangpai.taobao.com/group/thread/16151013-290178703.htm
如果能做到过 滤特殊QQ号 ( ⑧①④①③③④ 、八一四一三三四) 就更好了
滤特殊QQ号 ( ⑧①④①③③④ 、八一四一三三四)
业精于勤,荒于嬉;行成于思,毁于随。
思路:
至于过滤特殊qq号,我认为是白费心机。Unicode的神奇是很多人经常低估的:
9九玖⑨⑼⒐٩⁹₉⓽❾➈➒㈨㊈
ⒾⓞⓛⓄ⒧⒪
AB
该缴枪投降的时候就投降。明文的qq号够用的时候,就别在对付特殊符号上费尽心机了。
注:即使是对付spam等刚需,过滤汉字词汇也比对抗特殊符号qq有效得多。
是可以过滤,但是不可能没一个都过滤掉。 过滤原理,将里面的一二三四,①②全部替换成数字,再匹配是否是。
思路
class FilterQQ { public static function hasQQ($string = '') { $string = self::replace($string); return preg_match('/[1-9]{1}[0-9]{5,12}/', $string) ? true : false; } public static function replace($string = '') { $arr = array( '0' => array('0', '零', '〇'), '1' => array('1', '一', '①'), '2' => array('2', '二', '②'), '3' => array('3', '三', '③'), '4' => array('4', '四', '④'), '5' => array('5', '五', '⑤'), '6' => array('6', '六', 'liu'), '7' => array('7', '七', '⑦'), '8' => array('8', '八', '⑧'), '9' => array('9', '久', '九'), '' => array_unique(explode('|', ',|。|;|‘|’|“|”|+|—|—|||、|~|@|#|¥|%|…')), ); return str_replace(array_values($arr), array_keys($arr), $string); } } //使用方法 $string = '阿什顿发送的发生的发生的放啊啊'; var_dump( FilterQQ::hasQQ($string));
用正则表达式
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
思路:
至于过滤特殊qq号,我认为是白费心机。Unicode的神奇是很多人经常低估的:
9九玖⑨⑼⒐٩⁹₉⓽❾➈➒㈨㊈
这么多种写法ⒾⓞⓛⓄ⒧⒪
等等变体进行混淆AB
这两个字母中间有个零宽度空格吗?该缴枪投降的时候就投降。明文的qq号够用的时候,就别在对付特殊符号上费尽心机了。
注:即使是对付spam等刚需,过滤汉字词汇也比对抗特殊符号qq有效得多。
是可以过滤,但是不可能没一个都过滤掉。
过滤原理,将里面的一二三四,①②全部替换成数字,再匹配是否是。
思路
用正则表达式