我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