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 :: Версия для печати :: Только английские символы, цифры и знак подчеркивания
Форумы портала PHP.SU » PHP » Регулярные выражения » Только английские символы, цифры и знак подчеркивания

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

1. Staind - 01 Декабря, 2007 - 22:43:53 - перейти к сообщению
Уважаемые знающие люди - помогите реализовать выражение, чтобы при проверке должно было в определенной переменной содержаться только английские символы (нерегистрозависимые), цифры и знак подчеркивания "_". За ранее спасибо.
2. Staind - 02 Декабря, 2007 - 15:08:43 - перейти к сообщению
Еле еле, прочитав 15 раз мануал сделал так:
PHP:
скопировать код в буфер обмена
  1. preg_match("/^([a-z]|[A-Z]|_)+((?i)\.zip|(?i)\.rar)$/m",$param)

Проверяет чтобы название содержала или английские буквы, или пробел и, обязательно, чтобы на конце было расширение .rar или .zip. Вроде заработало Улыбка
3. valenok - 08 Декабря, 2007 - 02:37:35 - перейти к сообщению
/^[a-Z_]+\.(rar|zip)$/i
вроде бы
4. evgenijj - 08 Декабря, 2007 - 12:31:47 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. $file[] = 'File.zip';
  3. $file[] = 'Мой архив.zip';
  4. $file[] = 'archive_2.rar';
  5. $file[] = 'archive-2.rar';
  6. $file[] = 'Еще_один_архив.zip';
  7. $pattern = "/^[_a-z0-9]+\.(rar|zip)$/i";
  8. foreach( $file as $name ) {
  9.   if ( preg_match( $pattern, $name ) )
  10.     echo $name.' - ok<br/>';
  11.   else
  12.     echo $name.' - wrong<br/>';
  13. }
  14.  

Результат
PHP:
скопировать код в буфер обмена
  1.  
  2. File.zip - ok
  3. Мой архив.zip - wrong
  4. archive_2.rar - ok
  5. archive-2.rar - wrong
  6. Еще_один_архив.zip - wrong
  7.  
5. Staind - 08 Декабря, 2007 - 19:51:56 - перейти к сообщению
Ух ты, спасибо огромное. Пойду править код Улыбка

 

Powered by ExBB FM 1.0 RC1