
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
|||||
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 31 Пользователь №: 31483 На форуме: Карма: ![]() |
Извиняюсь, скорее всего посторюсь, игрался валидацией формы, написал регулярку, чтобы пропускала имена написаные либо кирилицей либо латинскими буквами и обязательно с первой заглавной. Вот что вышло:
$data = array( в результате: Rpdddlad Rftbg543gs Апрнек если беру только первую часть: '/^([A-Z]{1})([a-z])+$/' результат: Rpdddlad только вторую:'/^[А-ЯЁ]{1})([а-яё])+$/' результат: Апрнек Итого 2 вопроса: 1). А почему при обьединении этих масок проскакивает ещё и Rftbg543gs? 2). Ну и подскажите как проверить лучше на наличие лишь одного слова? Спустя 8 минут, 51 секунда (17.08.2012 - 15:30) Winston написал(а): if (preg_match('/^(?:[A-Z][a-z]+|[А-ЯЁ][а-яё]+)$/u',$data[$i])) echo $data[$i]."\n"; Для юникода нужно мод. u использовать Спустя 2 минуты, 50 секунд (17.08.2012 - 15:33) westside_90 написал(а): допустим для юникода прокатит, а если у меня всё под CP1251? Спустя 33 секунды (17.08.2012 - 15:33) Winston написал(а): Значит убрать u Спустя 3 минуты, 24 секунды (17.08.2012 - 15:37) westside_90 написал(а): ну собственно так и сделал, всё получилось, огромное спасибо) Спустя 1 минута, 19 секунд (17.08.2012 - 15:38) killer8080 написал(а): '/^([A-Z]{1}[a-z]+|[А-ЯЁ]{1}[а-яё]+)$/u' Спустя 21 минута, 42 секунды (17.08.2012 - 16:00) westside_90 написал(а): к сожалению для валидации поля в Drupal 7 не подошло... латинские имена пускает, кирилицу нет, на модификатор u говорит: preg_match() [function.preg-match]: Compilation failed: invalid UTF-8 string at offset Спустя 9 минут, 23 секунды (17.08.2012 - 16:09) killer8080 написал(а): westside_90 похоже кодировка, в которой сохранен файл, не совпадает с кодировкой страницы (входных данных) Спустя 3 минуты, 45 секунд (17.08.2012 - 16:13) westside_90 написал(а): ну это врятли, сраница создана модулем (хук_меню), кодировку не менял, даже незнаю как задать именно UTF-8 для страницы, но сомневаюсь что проблема в этом Спустя 3 минуты, 51 секунда (17.08.2012 - 16:17) killer8080 написал(а):
То есть ты даже не знаешь, в какой кодировке у тебя файл, но уверен что в этом проблемы быть не может ![]() Спустя 5 минут, 13 секунд (17.08.2012 - 16:22) westside_90 написал(а): какой файл? нету файла, есть страница, потому и говорю, что проблема не в кодировке Спустя 2 минуты, 40 секунд (17.08.2012 - 16:25) killer8080 написал(а):
Ну да, а регулярка у тебя где? В воздухе? ![]() Спустя 8 минут, 56 секунд (17.08.2012 - 16:34) westside_90 написал(а): Признаю, проглядел, модуль был в ANSI сохранён, перекодировал, помогло, респект за настойчивойсть, а то я как-то сразу это отбросил). Тогда вариант Winston'a идеален) А скипт тестировал под CP1251, нужно как-то найти общий знаменатель))) |
||||
![]() |
![]() ![]() ![]() |