$data = array(
'0' => 'adadasfs',
'1' => 'Rpdddlad',
'2' => 'gTlkEf',
'3' => '4gegdgr',
'4' => 'Rftbg543gs',
'5' => 'rt',
'6' => '56',
'7' => 'Апрнек',
'8' => 'dgввпв',
'9' => 'Кdgdtав',
);
for ($i = 0; $i <= 9; $i++) {
if (preg_match('/^([A-Z]{1})([a-z])+|([А-ЯЁ]{1})([а-яё])+$/',$data[$i])) echo $data[$i]."\n";
}
в результате: 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
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 написал(а):
Цитата (westside_90 @ 17.08.2012 - 17:13) |
ну это врятли, сраница создана модулем (хук_меню) |
То есть ты даже не знаешь, в какой кодировке у тебя файл, но уверен что в этом проблемы быть не может
![biggrin.gif](http://phpforum.su/html/emoticons/biggrin.gif)
Спустя 5 минут, 13 секунд (17.08.2012 - 16:22) westside_90 написал(а):
какой файл? нету файла, есть страница, потому и говорю, что проблема не в кодировке
Спустя 2 минуты, 40 секунд (17.08.2012 - 16:25) killer8080 написал(а):
Цитата (westside_90 @ 17.08.2012 - 17:22) |
какой файл? нету файла, есть страница, потому и говорю, что проблема не в кодировке |
Ну да, а регулярка у тебя где? В воздухе?
![smile.gif](http://phpforum.su/html/emoticons/smile.gif)
Спустя 8 минут, 56 секунд (17.08.2012 - 16:34) westside_90 написал(а):
Признаю, проглядел, модуль был в ANSI сохранён, перекодировал, помогло, респект за настойчивойсть, а то я как-то сразу это отбросил).
Тогда вариант Winston'a идеален)
А скипт тестировал под CP1251, нужно как-то найти общий знаменатель)))
Тогда вариант Winston'a идеален)
А скипт тестировал под CP1251, нужно как-то найти общий знаменатель)))