Я не хочу проверять, есть ли строка ($ 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, и в этом случае вы должны использовать модификатор u в preg_match и должны передать свое выражение этой функции также в UTF-8.
u
preg_match
Если это так, вы также можете сделать некоторые из следующих вещей:
strtolower
strlen
mb_