[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка в preg_match
cyberside
Ошибка:

<b>Warning</b>: preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: invalid UTF-8 string at offset 11 in <b>/var/www/inel/data/www/inel.pro/modules/teams/ajax/regcheckfields.php</b> on line <b>22</b>

Код:

iconv('utf8','cp1251',$field);
if(!empty($field)){
if(preg_match("#^[a-z0-9_ а-я-]{2,15}$#iu",$field)){echo "okay";}else{echo "Поле должно быть длиной от 2 до 25 символов.";}
}
else{echo "Поле не заполнено!";}

Убираю "u", ошибка не появляеться но и проверка тоже...
Проверка заключается в том что бы запретить спец символы кроме "_" и "-".



Спустя 14 минут, 15 секунд (21.01.2012 - 20:51) dadli написал(а):
так ?

$field = 'aaусловa';

$field = iconv('utf-8','cp1251',$field);
if(!empty($field)){
if(preg_match("#^[a-z0-9_ а-я-]{2,15}$#i",$field)){echo "okay";}else{echo "Поле должно быть длиной от 2 до 15 символов.";}
}
else{echo "Поле не заполнено!";}

Спустя 30 минут, 36 секунд (21.01.2012 - 21:21) Winston написал(а):
Цитата (cyberside @ 21.01.2012 - 19:36)
iconv('utf8','cp1251',$field);

Зачем ты перекодируешь из Win в utf?
Если ты уже и перекодировал то нужно убрать u, т.к. он для юникода
А регулярку можно так переписать
#^[\wа-яё-]{2,15}$#i

Спустя 3 минуты, 42 секунды (21.01.2012 - 21:25) cyberside написал(а):
Winston, спасиб понял, просто ajax посылает в utf8 необходимо перекодировать что бы избегать крякозябр.

Спустя 5 минут, 42 секунды (21.01.2012 - 21:31) Winston написал(а):
А у тебя все в CP1251? Нафига?

Спустя 55 секунд (21.01.2012 - 21:31) Stasonix написал(а):
не используйте эту win1251 вообще в любых проектах, это утопия, можете мне возражать, но это мое мнение. Везде где только можно прописывайте utf8, я бы вообще отдельную тему с пометкой ВАЖНЫЕ создал с темой куда что прописывать в плане кодировки при создании проэкта, а то реально создают, а потом постят. (признаю, сам постил).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.