[英]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.