Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Правильно ли я понял функцию preg_match?
 
 автор: BlueWolf   (02.09.2010 в 12:19)   письмо автору
 
 

if (!preg_match('/[^a-zA-z0-9_]/i',$nick)){
//Тут если переменная $nick содержит только латинские символы a-zA-z
Цифры 0-9 и знак _

else {
// тут если в переменной $nick  содержится хоть 1 символ отличный от шаблона
}

  Ответить  
 
 автор: neadekvat   (02.09.2010 в 13:48)   письмо автору
 
   для: BlueWolf   (02.09.2010 в 12:19)
 

Функция - это функция.
А вот регулярные выражения вы не поняли. По чему их учите?

  Ответить  
 
 автор: Slo_Nik   (02.09.2010 в 14:45)   письмо автору
 
   для: BlueWolf   (02.09.2010 в 12:19)
 

я думаю, что правильней будет так

<?php 
if (preg_match('/[a-zA-z0-9_]/i',$nick)){ 
//Тут если переменная $nick содержит только латинские символы a-zA-z 
Цифры 0-9 и знак _ 
}  
else { 
// тут если в переменной $nick  содержится символы не подходящие к шаблону
}
?>

так как Вы написали, уж очень хитро, запутано....

  Ответить  
 
 автор: BlueWolf   (02.09.2010 в 14:58)   письмо автору
 
   для: Slo_Nik   (02.09.2010 в 14:45)
 

можно и так =)

  Ответить  
 
 автор: neadekvat   (02.09.2010 в 15:09)   письмо автору
 
   для: Slo_Nik   (02.09.2010 в 14:45)
 

А я думаю, что вам тоже стоит еще почитать про рег. выражения.

  Ответить  
 
 автор: Slo_Nik   (02.09.2010 в 15:23)   письмо автору
 
   для: neadekvat   (02.09.2010 в 15:09)
 

я с Вами полностью согласен... мало читал по этой теме.
В примере автора надо ещё модификатор применить( *, ? или + или комбинацию), возможно надо указать границы и т.п., всё зависит от задачи.

<?php 
if(preg_match("|^[a-z0-9_]+$|i"$test)){
 
// если есть указанные символы, то выполняем то- то
}
else{
 
// если нет указанных символов, то выполняем то-то
}
?>

  Ответить  
 
 автор: BlueWolf   (02.09.2010 в 15:31)   письмо автору
 
   для: Slo_Nik   (02.09.2010 в 15:23)
 

Задача такая:
В логине должны быть только буквы латинского языка , цифры и знака _

  Ответить  
 
 автор: Саня   (02.09.2010 в 15:36)   письмо автору
 
   для: BlueWolf   (02.09.2010 в 15:31)
 

!^[a-z\d_]{1,20}$!i

  Ответить  
 
 автор: neadekvat   (02.09.2010 в 15:58)   письмо автору
 
   для: Slo_Nik   (02.09.2010 в 15:23)
 

Вам еще перед первым постом в этой теме стоило подумать о том, что вы мало понимаете в регулярных выражениях (и ничего не писать, соответственно), ибо и во второй вы составили неверно.

  Ответить  
 
 автор: slo_nik   (02.09.2010 в 16:17)   письмо автору
 
   для: neadekvat   (02.09.2010 в 15:58)
 

что именно не правильно?

  Ответить  
 
 автор: neadekvat   (02.09.2010 в 16:54)   письмо автору
 
   для: slo_nik   (02.09.2010 в 16:17)
 

Вы считаете правильным не ограничивать логин в длине?

  Ответить  
 
 автор: Slo_Nik   (02.09.2010 в 17:10)   письмо автору
 
   для: neadekvat   (02.09.2010 в 16:54)
 

>Задача такая:
>В логине должны быть только буквы латинского языка , цифры и знака _
и не слова о длине логина. а в самом первом сообщении автора ни слова о логине.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования