我wan't检查一个字符串($ nick_2)获得“或N的preg_match条件问题
这是正确的吗?我不能让它工作
if ((strlen($nick_2) >= 3) && (strlen($nick_2) <= 25) && (!preg_match("/\"/", $nick_2)) && (!preg_match("/ñ/", strtolower($nick_2)))) {
我wan't检查一个字符串($ nick_2)获得“或N的preg_match条件问题
这是正确的吗?我不能让它工作
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,在这种情况下,你必须使用u
修饰符preg_match
并应当提交你的表达到功能ALS o UTF-8。
如果是这样的话,你也希望做一些事情:
strtolower
和strlen
与mb_
替代品。
它适合我。也许问题在其他地方? – 2011-08-08 16:34:15