Вниз  PHP и мелкие вопросы
- 20.10.2011 / 23:03
Лека
  Пользователь

Лека 
Сейчас: Offline
Подскажите с регуляркой как найти взаимопонимание. Пример такой. Есть некая строка например абвгдеё но быквы ё может и не быть,буквы могут быть в верхнем регистре или написаны через пробел.
- 20.10.2011 / 23:10
Лека
  Пользователь

Лека 
Сейчас: Offline
думаю первый пример не самый удачный,вобщем вот
  1. $mat = "/((еб|ёб)(ать|ань|ну|ану|у|ун|анат|ок|))/i";
  2. if(preg_match($mat,$msg)) {
  3. $uBans = $uBans ++ ;
  4. $msg = 'я лох!'.$msg;
  5. $msg = preg_replace($mat,'',$msg);
  6. }

- 20.10.2011 / 23:11
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
Лека, для регистра есть флаг который ты указав после регулярки, будут игнорировать регистр /регулярка/i
опоздал ))
__________________
 Магистр Мёда

Изменено Koenig (20.10 / 23:11) (всего 1 раз)
- 20.10.2011 / 23:13
Лека
  Пользователь

Лека 
Сейчас: Offline
Дима,не игнарирует. swd.pp.ua/tema.php складовые слова в регулярке из примера.
- 20.10.2011 / 23:18
Лека
  Пользователь

Лека 
Сейчас: Offline
и еще некоторого слога или слогов может и не быть,пример тотже,первый слог,если он сам по себе,а не слово хлЕБ вроде и мат.
- 20.10.2011 / 23:25
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
demiurg,
  1. if (isset($_POST['act'])) {
  2. $text = $_POST['text'];
  3. $arr = range(intval($_POST['ot']), intval($_POST['do']));
  4. foreach ($arr as $k => $v) {
  5. #sendmessage($text, $v);
  6. echo $v . ' - ' . $text . PHP_EOL . '<br/>';
  7. }
  8. }
  9.  
  10. echo '<form action="" method="post">От<input type="text" name="ot"/><br/>До<input type="text" name="do"/><br/>';
  11. echo 'Текст сообщения<br/><textarea name="text" rows="5" cols="40"></textarea><br/>';  
  12. echo '<input type="submit" name="act" value="Отправить" /></form>';
допилешь сам я думаю
__________________
 Магистр Мёда

Изменено Koenig (20.10 / 23:25) (всего 1 раз)
- 20.10.2011 / 23:27
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
Лека, с кирилицей все на много сложнее, да и проблема не новая, всю жизнь пытаются антимат превратить в ИИ :hack:
__________________
 Магистр Мёда
- 20.10.2011 / 23:31
Лека
  Пользователь

Лека 
Сейчас: Offline
Дима,как вариант с регистром так проходит,хоть и геморойно.$mat = "/((п|П)(и|И|е|Е)(з|З|д|Д)(д|Д|да|ДА|ДЕ|де|ду|ДУ|ар|АР|РИ|рило|рас))/i";
if(preg_match($mat,$msg)) {
$uBans = $uBans ++ ;
$msg = 'Блин,я чмо!'.$msg;
$msg = preg_replace($mat,'',$msg);
} но как указать что букв может в том месте не быть?
- 21.10.2011 / 00:04
Лека
  Пользователь

Лека 
Сейчас: Offline
вобщем тип того
  1. $mat = "/((долбо)?(еб|ёб)(ать|ань|ну|ану|у|ун|анат|ок)?)/i";
  2. if(preg_match($mat,$msg)) {
  3. $uBans = $uBans ++ ;
  4. $msg = 'Блин,я чмо!'.$msg;
  5. $msg = preg_replace($mat,'',$msg);
  6. }
:)
- 21.10.2011 / 07:16
Лека
  Пользователь

Лека 
Сейчас: Offline
вобщем сама справилась,теперь и регистр значения не имеет. Только если найден мат то строка в нижнем регистре будет.
Наверх  Всего сообщений: 4740
Фильтровать сообщения
Поиск по теме
Файлы топика (129)