20.10.2011 / 23:03 |  | 
Лека    Пользователь  
   Сейчас: Offline 
 Имя: Лена Откуда: Скрытенбург Регистрация: 08.08.2011
   | Подскажите с регуляркой как найти взаимопонимание. Пример такой. Есть некая строка например абвгдеё но быквы ё может и не быть,буквы могут быть в верхнем регистре или написаны через пробел.
   | 
  20.10.2011 / 23:10 |  | 
Лека    Пользователь  
   Сейчас: Offline 
 Имя: Лена Откуда: Скрытенбург Регистрация: 08.08.2011
   | думаю первый пример не самый удачный,вобщем вот  $mat = "/((еб|ёб)(ать|ань|ну|ану|у|ун|анат|ок|))/i";  
if(preg_match($mat,$msg)) {  
$uBans = $uBans ++ ;  
$msg = 'я лох!'.$msg;  
$msg = preg_replace($mat,'',$msg);  
}  
  | 
  20.10.2011 / 23:11 |  | 
Koenig    Модератор форума  
   Сейчас: Offline 
 Имя: Дмитрий Откуда: Калининград(Koenigsberg) Регистрация: 23.01.2011
   | Лека, для регистра есть флаг который ты указав после регулярки, будут игнорировать регистр /регулярка/i опоздал ))
  __________________
   Магистр Мёда  Изменено Koenig (20.10 / 23:11) (всего 1 раз) | 
  20.10.2011 / 23:13 |  | 
Лека    Пользователь  
   Сейчас: Offline 
 Имя: Лена Откуда: Скрытенбург Регистрация: 08.08.2011
   | Дима,не игнарирует. swd.pp.ua/tema.php складовые слова в регулярке из примера.
   | 
  20.10.2011 / 23:18 |  | 
Лека    Пользователь  
   Сейчас: Offline 
 Имя: Лена Откуда: Скрытенбург Регистрация: 08.08.2011
   | и еще некоторого слога или слогов может и не быть,пример тотже,первый слог,если он сам по себе,а не слово хлЕБ вроде и мат.
   | 
  20.10.2011 / 23:25 |  | 
Koenig    Модератор форума  
   Сейчас: Offline 
 Имя: Дмитрий Откуда: Калининград(Koenigsberg) Регистрация: 23.01.2011
   | demiurg,  if (isset($_POST['act'])) {  
$text = $_POST['text'];  
$arr = range(intval($_POST['ot']), intval($_POST['do']));  
foreach ($arr as $k => $v) {  
#sendmessage($text, $v);  
echo $v . ' - ' . $text . PHP_EOL . '<br/>';  
}  
}  
   
echo '<form action="" method="post">От<input type="text" name="ot"/><br/>До<input type="text" name="do"/><br/>';  
echo 'Текст сообщения<br/><textarea name="text" rows="5" cols="40"></textarea><br/>';    
echo '<input type="submit" name="act" value="Отправить" /></form>';  
 допилешь сам я думаю  __________________
   Магистр Мёда  Изменено Koenig (20.10 / 23:25) (всего 1 раз) | 
  20.10.2011 / 23:27 |  | 
Koenig    Модератор форума  
   Сейчас: Offline 
 Имя: Дмитрий Откуда: Калининград(Koenigsberg) Регистрация: 23.01.2011
   | Лека, с кирилицей все на много сложнее, да и проблема не новая, всю жизнь пытаются антимат превратить в ИИ     __________________
   Магистр Мёда  | 
  20.10.2011 / 23:31 |  | 
Лека    Пользователь  
   Сейчас: Offline 
 Имя: Лена Откуда: Скрытенбург Регистрация: 08.08.2011
   | Дима,как вариант с регистром так проходит,хоть и геморойно.$mat = "/((п|П)(и|И|е|Е)(з|З|д|Д)(д|Д|да|ДА|ДЕ|де|ду|ДУ|ар|АР|РИ|рило|рас))/i"; if(preg_match($mat,$msg)) { $uBans = $uBans ++ ; $msg = 'Блин,я чмо!'.$msg; $msg = preg_replace($mat,'',$msg); } но как указать что букв может в том месте не быть?
   | 
  21.10.2011 / 00:04 |  | 
Лека    Пользователь  
   Сейчас: Offline 
 Имя: Лена Откуда: Скрытенбург Регистрация: 08.08.2011
   | вобщем тип того  $mat = "/((долбо)?(еб|ёб)(ать|ань|ну|ану|у|ун|анат|ок)?)/i";  
if(preg_match($mat,$msg)) {  
$uBans = $uBans ++ ;  
$msg = 'Блин,я чмо!'.$msg;  
$msg = preg_replace($mat,'',$msg);  
}  
     | 
  21.10.2011 / 07:16 |  | 
Лека    Пользователь  
   Сейчас: Offline 
 Имя: Лена Откуда: Скрытенбург Регистрация: 08.08.2011
   | вобщем сама справилась,теперь и регистр значения не имеет. Только если найден мат то строка в нижнем регистре будет.
   |