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
| вобщем сама справилась,теперь и регистр значения не имеет. Только если найден мат то строка в нижнем регистре будет.
|