[英]preg_match condition problem
我不会检查字符串($ nick_2)是否为“或ñ
这个对吗? 我不能使它工作
if ( (strlen($nick_2) >= 3) && (strlen($nick_2) <= 25) && (!preg_match("/\"/", $nick_2)) && (!preg_match("/ñ/", strtolower($nick_2))) ) {
对于查找单个字符,正则表达式会产生极大的过大杀伤力。 只需使用
if ((strpos('"', $nick_2) !== FALSE) || (strpos('ñ', $nick_2) !== FALSE)) {
... chars were found
}
可能您的字符串位于UTF-8中,在这种情况下,您必须在preg_match
使用u
修饰符,并且还应该在UTF-8中将表达式提交给该函数。
如果是这种情况,您还需要做以下一些事情:
mb_
替代替换strtolower
和strlen
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.