Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: preg_match проверка длины строки
Форумы портала PHP.SU » » Вопросы новичков » preg_match проверка длины строки

Страниц (1): [1]
 

1. myocean - 23 Октября, 2011 - 23:26:30 - перейти к сообщению
Здравствуйте, есть такой кусочек кода с проверкой на соотвествие

PHP:
скопировать код в буфер обмена
  1. if (!preg_match("/^.{1,1000}$/",$Proveryaemiy_parametr)) $_SESSION['err'].='<li>Ошибка в проверяемом параметре</li>';


Все работает до тех пор, пока в указанном параметре отсутствует перевод строки....

подскажите, как переписать данный код, с условием проверки на количество символов от 1 до 1000 ?
2. snikers987 - 23 Октября, 2011 - 23:28:24 - перейти к сообщению
strlen() ? зачем тут регулярка?
3. Vet - 23 Октября, 2011 - 23:29:24 - перейти к сообщению
Попробуйте так
PHP:
скопировать код в буфер обмена
  1. if (!preg_match("/^.{1,1000}$/m",$Proveryaemiy_parametr)) $_SESSION['err'].='<li>Ошибка в проверяемом параметре</li>';
4. myocean - 23 Октября, 2011 - 23:31:09 - перейти к сообщению
Спасибо за ответ...
strlen можно, но хотелось бы понять, в данном случае, в чем загвоздка?
5. Vet - 23 Октября, 2011 - 23:33:52 - перейти к сообщению
буковка m решила проблему?
6. myocean - 23 Октября, 2011 - 23:39:38 - перейти к сообщению
к сожалению нет...
С m можно ввести и большее, чем 1000, символов
7. OrmaJever - 24 Октября, 2011 - 00:29:03 - перейти к сообщению
Vet пишет:
буковка m решила проблему?

Вобщето нужна буковка s.
http://php.su/lessons/?lesson_17
Цитата:
s - если используется, то символ . соответствует и переводу строки. Иначе она ему не соответствует.
8. myocean - 24 Октября, 2011 - 00:34:27 - перейти к сообщению
OrmaJever, спасибо! Все работает!

 

Powered by ExBB FM 1.0 RC1