| Автор |
Сообщение |
Rin
Участник форума

Зарегистрирован: 01.06.2005
Сообщ.: 488
Карма: 142 поощрить/наказать
Откуда: Москва
|
Добавлено: Ср Июн 13, 2007 3:44 pm (написано за 6 минут 24 секунды)
Заголовок сообщения: Censure: определение наличия мата (нецензурных слов) в тексте, матотест
|
|
Класс пытается определить наличие мата (нецензурных, матерных слов) в html-тексте Возвращает FALSE, если мат не обнаружен, иначе обнаруженное матерное слово или фрагмент текста с "подсвеченным" матерным словом (настраивается). Алгоритм достаточно надежен и быстр, в т.ч. на больших объемах данных. Метод обнаружения мата основывается на корнях и предлогах русского языка, а не на словаре. Слова "лох", "хер", "залупа", "сука" матерными словами не считаются (см. словарь Даля)
| Описание: |
| Детектор мата, матотест PHP |
|
 Скачать |
| Имя файла: |
Censure-3.2.6.7z |
| Размер: |
27,84 KB |
| Скачали: |
1759 раз(а) |
Последний раз редактировалось: Rin (Пт Июл 30, 2010 10:41 am), всего редактировалось 9 раз(а)
|
|
| Вернуться к началу |
|
 |
Юрий Насретдинов
Модератор

Зарегистрирован: 13.03.2003
Сообщ.: 8584
Карма: 237 поощрить/наказать
Откуда: 007 495
|
Добавлено: Ср Июн 13, 2007 4:59 pm (спустя 1 час 15 минут; написано за 1 секунду)
Заголовок сообщения:
|
|
| Rin, не могли бы Вы убрать комментарии в версии, которая на этом форуме? Потому что лично меня напрягает читать Ваш исходный код из-за обилия мата. Я предлагаю поместить версию с комментариями во вложение, а тут выложить версию без мата в комментах.
|
|
| Вернуться к началу |
|
 |
bæv
Модератор «Дзена»

Зарегистрирован: 27.08.2003
Сообщ.: 5737
Карма: ∞ поощрить/наказать
|
Добавлено: Ср Июн 13, 2007 5:52 pm (спустя 52 минуты; написано за 2 минуты 10 секунд)
Заголовок сообщения:
|
|
| Rin писал(а): |
|
Слова "лох", "хер", "залупа", "сука" матерными словами не считаются (см. словарь Даля) |
— они, конечно, матерными словами не считаются. Только Даль тут причём? В оригинальном словаре Даля весь мат был «на равных правах» с остальными словами.
|
|
| Вернуться к началу |
|
 |
Гость
Карма: 367 поощрить/наказать
|
Добавлено: Вс Июн 17, 2007 5:01 am (спустя 3 дня 11 часов 9 минут; написано за 41 секунду)
Заголовок сообщения:
|
|
| как он ведёт себя со словами типа "заштрихуй"?
|
|
| Вернуться к началу |
|
 |
Rin
Участник форума

Зарегистрирован: 01.06.2005
Сообщ.: 488
Карма: 142 поощрить/наказать
Откуда: Москва
|
Добавлено: Пн Июн 18, 2007 9:58 pm (спустя 1 день 16 часов 56 минут; написано за 5 минут 2 секунды)
Заголовок сообщения:
|
|
Заштрихуй, дебет, оскорблять, перебалтывай -- все эти слова и подобные НЕ считаются матом. За 2 года его использования могу сказать, что фильтр достаточно надежен.
|
|
| Вернуться к началу |
|
 |
amikhailov
Участник форума

Зарегистрирован: 11.11.2004
Сообщ.: 180
Карма: 3 поощрить/наказать
Откуда: Екатеринбург
|
Добавлено: Чт Июн 21, 2007 2:14 pm (спустя 2 дня 16 часов 15 минут; написано за 40 секунд)
Заголовок сообщения:
|
|
| Код (php): |
скопировать код в буфер обмена |
#вырезаем все лишнее #скрипты не вырезаем, т.к. м.б. обходной маневр на с кодом на javascript: #<script>document.write('сло'+'во')</script> #хотя давать пользователю возможность использовать код на javascript нехорошо if (! function_exists('strip_tags_smart')) #оптимизация скорости include_once { include_once 'strip_tags_smart.php'; } $s = strip_tags_smart ($s, true, true, array('comment', 'style', 'map', 'frameset', 'object', 'applet')); if (! function_exists('utf8_html_entity_decode')) #оптимизация скорости include_once { include_once 'utf8_html_entity_decode.php'; } |
Для порядку бы тогда уж и strip_tags_smart.php + utf8_html_entity_decode.php в архив вложили бы
|
|
| Вернуться к началу |
|
 |
Rin
Участник форума

Зарегистрирован: 01.06.2005
Сообщ.: 488
Карма: 142 поощрить/наказать
Откуда: Москва
|
Добавлено: Чт Июн 21, 2007 9:56 pm (спустя 7 часов 41 минуту; написано за 48 секунд)
Заголовок сообщения:
|
|
| Недостающие файлы есть на этом форуме, но для порядку добавил в архив.
|
|
| Вернуться к началу |
|
 |
Базылев Дмитрий
Заглянувший

Зарегистрирован: 07.09.2007
Сообщ.: 16
Карма: 0 поощрить/наказать
Откуда: Уфа
|
Добавлено: Пт Сен 07, 2007 3:55 pm (спустя 2 месяца 15 дней 17 часов 59 минут; написано за 1 минуту 42 секунды)
Заголовок сообщения:
|
|
Кстати, вот вам отличная идея - есть словарь русского мата на mat.fobo.ru. Можно договориться с их авторами, и сделать XML-экспорт списка слов в вашу базу мата. Я сам в своем универсальном парсере такое планирую сделать.
|
|
| Вернуться к началу |
|
 |
Maus
Модератор

Зарегистрирован: 29.06.2003
Сообщ.: 7410
Карма: 242 поощрить/наказать
Откуда: пос. Омсукчан Магаданской области
|
Добавлено: Вт Ноя 27, 2007 3:05 am (спустя 2 месяца 19 дней 11 часов 9 минут)
Заголовок сообщения:
|
|
|
|
|
| Вернуться к началу |
|
 |
ABTOP
Заглянувший
Зарегистрирован: 01.12.2007
Сообщ.: 14
Карма: -1 поощрить/наказать
|
Добавлено: Сб Dec 01, 2007 7:53 am (спустя 4 дня 4 часа 48 минут; написано за 4 минуты 14 секунд)
Заголовок сообщения:
|
|
| Базылев Дмитрий писал(а): |
Кстати, вот вам отличная идея - есть словарь русского мата на mat.fobo.ru. Можно договориться с их авторами, и сделать XML-экспорт списка слов в вашу базу мата. Я сам в своем универсальном парсере такое планирую сделать. |
| mat.fobo.ru писал(а): |
Статистика На данный момент в базе словаря находится 4208 слов и выражений (включая не подтвержденные). |
Йето реально работать с более 4-х тыс. слов? Rin, почему у вас такой странный набор корней - некоторые нематерные присутствуют, а некоторые матерные не включены?
|
|
| Вернуться к началу |
|
 |
Rin
Участник форума

Зарегистрирован: 01.06.2005
Сообщ.: 488
Карма: 142 поощрить/наказать
Откуда: Москва
|
Добавлено: Вс Dec 02, 2007 8:39 pm (спустя 1 день 12 часов 45 минут; написано за 52 секунды)
Заголовок сообщения:
|
|
| Напишите мне личное сообщение, чтобы не "светить" матом здесь.
|
|
| Вернуться к началу |
|
 |
simbel
Заглянувший
Зарегистрирован: 04.07.2007
Сообщ.: 7
Карма: 0 поощрить/наказать
|
Добавлено: Чт Dec 06, 2007 5:58 pm (спустя 3 дня 21 час 18 минут; написано за 10 минут 38 секунд)
Заголовок сообщения:
|
|
Уважаемый Rin. Скачал архив censure.rar. Поставил скрипт(все функции). Ничего не менял, кроме путей к файлам с функциями - прописал полные пути (до изменения include_once выдавал ошибку об отсутствии файла). Вот строка, которое обрабатывается вашим скриптом:
| Код (php): |
скопировать код в буфер обмена |
$s = 'Всё ОК тел супер, пользуюсь <> 11 месяцев, #"с_л@о#во,с\xc2\xa7лово.Слово dgdddedbd gdebdgdebvd ### dgefhf глюков нет и не облазит, нех.. покупать по-дешевле в ненадежных местах.'; |
В результате скрипт выдаёт ошибку:
| Код (php): |
скопировать код в буфер обмена |
Warning: preg_match() [function.preg-match ]: Compilation failed: invalid UTF- 8 string at offset 6 in z:\home\prostor\www\admcode\cats\all_function.php on line 260 |
В чём может быть сдесь ошибка? Помогите, пожалуйста. Проверил как меняется строка после обработки каждой из функций: strip_tags_smart(), utf8_html_entity_decode() и utf8_convert_case(). Результат - никаких изменений, ничего не вырезается и не заменяется - строка остаётся такой же как и на входе. Так и должно быть? Дальше, после обработки регулярным выражением:
| Код (php): |
скопировать код в буфер обмена |
#получаем в массив только буквы и цифры #"с_л@о#во,с\xc2\xa7лово.Слово" -> "слово слово слово" preg_match_all('/(?> \xd0[\xb0-\xbf]|\xd1[\x80-\x8f\x91] #[а-я] | [a-z\d]+ )+ /isx', $s, $m); |
строка $s превращается в
После обработки регулярным выражением
строка превращается в
Ну а на последнем регулярном выражении, которое вырезает плохие слова возникает ошибка:
| Код (php): |
скопировать код в буфер обмена |
Warning: preg_match() [function.preg-match ]: Compilation failed: invalid UTF- 8 string at offset 6 in z:\home\prostor\www\admcode\cats\all_function.php on line 260 |
Что может быть не так? Помогите, пожалуйста, разобраться.
|
|
| Вернуться к началу |
|
 |
Rin
Участник форума

Зарегистрирован: 01.06.2005
Сообщ.: 488
Карма: 142 поощрить/наказать
Откуда: Москва
|
Добавлено: Пт Dec 07, 2007 11:52 pm (спустя 1 день 5 часов 54 минуты; написано за 19 секунд)
Заголовок сообщения:
|
|
| Проверьте строку функцией is_utf8()
|
|
| Вернуться к началу |
|
 |
simbel
Заглянувший
Зарегистрирован: 04.07.2007
Сообщ.: 7
Карма: 0 поощрить/наказать
|
Добавлено: Сб Dec 08, 2007 9:49 pm (спустя 21 час 56 минут; написано за 2 минуты 41 секунду)
Заголовок сообщения:
|
|
| Я, для разработки сайта использую кодировку win-1251. Может поэтому проблемы? В моём случае вообще целесообразно использовать функции utf8_html_entity_decode() и utf8_convert_case()? Я сделал без них и вроде всё работает. Мат распознаётся. Для чего вообще нужны эти функции?
|
|
| Вернуться к началу |
|
 |
Ksnk
Участник форума
Зарегистрирован: 24.06.2005
Сообщ.: 453
Карма: 48 поощрить/наказать
Откуда: СПб
|
Добавлено: Вс Dec 09, 2007 3:01 pm (спустя 17 часов 11 минут; написано за 3 минуты 2 секунды)
Заголовок сообщения:
|
|
Захотелось пофлудить на тему utf8 - а настолько ли он нужен для определения русского мата?... simbel Но слабый смертный не ведает будущего и счастлив неведением своим!... (с)Ф. Н. Глинка Rin ...во многой мудрости много печали... (с)Еккл (1:17,18) ;-(
|
|
| Вернуться к началу |
|
 |
Rin
Участник форума

Зарегистрирован: 01.06.2005
Сообщ.: 488
Карма: 142 поощрить/наказать
Откуда: Москва
|
|
| Вернуться к началу |
|
 |
Валенок
Участник форума

Зарегистрирован: 06.04.2006
Сообщ.: 521
Карма: -1 поощрить/наказать
|
Добавлено: Пн Dec 10, 2007 4:37 pm (спустя 1 час 57 минут; написано за 15 секунд)
Заголовок сообщения:
|
|
| а пхп обещало его хорошую поддержку тока в 6ой версии%))
|
|
| Вернуться к началу |
|
 |
Ksnk
Участник форума
Зарегистрирован: 24.06.2005
Сообщ.: 453
Карма: 48 поощрить/наказать
Откуда: СПб
|
Добавлено: Вт Dec 11, 2007 8:00 am (спустя 15 часов 23 минуты; написано за 2 минуты 51 секунду)
Заголовок сообщения:
|
|
| Rin Ну, одна из моих мыслЕй была - utf - это интернационально, так что только словарем одного русского мата, как-бы, обойтись будет, в перспективе, непросто... А cp1251 - гарантирует мат на русском :) Хотя мысль, конечно, гниловата... Флуд, что с него взять...
|
|
| Вернуться к началу |
|
 |
Rin
Участник форума

Зарегистрирован: 01.06.2005
Сообщ.: 488
Карма: 142 поощрить/наказать
Откуда: Москва
|
Добавлено: Ср Dec 19, 2007 5:59 pm (спустя 8 дней 9 часов 59 минут; написано за 4 минуты 15 секунд)
Заголовок сообщения:
|
|
3.1.0-beta- Добавлены новые матные слова
- Функция распознает гораздо больше матных слов, чем прежняя версия
- При обнаружении мата возвращается фрагмент текста с матерным словом
Функция нуждается в более тщательном тестировании. В случае обнаружения ошибок (ложных срабатываний) -- пишите.
|
|
| Вернуться к началу |
|
 |
Гость
Карма: 367 поощрить/наказать
|
Добавлено: Вт Янв 22, 2008 3:58 pm (спустя 1 месяц 2 дня 21 час 58 минут; написано за 28 секунд)
Заголовок сообщения:
|
|
Отличная работа! Респект автору. А есть ли что-нибудь подобное для обысного ср1251 ?
|
|
| Вернуться к началу |
|
 |
Rin
Участник форума

Зарегистрирован: 01.06.2005
Сообщ.: 488
Карма: 142 поощрить/наказать
Откуда: Москва
|
Добавлено: Вт Янв 22, 2008 9:56 pm (спустя 5 часов 58 минут; написано за 28 секунд)
Заголовок сообщения:
|
|
| Перекодировка работает достаточно быстро. :)
|
|
| Вернуться к началу |
|
 |
Апокалипсис
Заглянувший
Зарегистрирован: 12.03.2008
Сообщ.: 1
Карма: 0 поощрить/наказать
|
Добавлено: Ср Мар 12, 2008 4:49 pm (спустя 1 месяц 20 дней 18 часов 52 минуты; написано за 49 секунд)
Заголовок сообщения:
|
|
| Автору спасибо за этот фильтр. Установил его у себя в чате - и отловил много ложных срабатываний фильтра. Если интересует могу выложить их.
|
|
| Вернуться к началу |
|
 |
bæv
Модератор «Дзена»

Зарегистрирован: 27.08.2003
Сообщ.: 5737
Карма: ∞ поощрить/наказать
|
Добавлено: Ср Мар 12, 2008 5:58 pm (спустя 1 час 8 минут; написано за 24 секунды)
Заголовок сообщения:
|
|
| Апокалипсис, рекламу из подписи уберите.
|
|
| Вернуться к началу |
|
 |
Rin
Участник форума

Зарегистрирован: 01.06.2005
Сообщ.: 488
Карма: 142 поощрить/наказать
Откуда: Москва
|
Добавлено: Ср Мар 12, 2008 9:10 pm (спустя 3 часа 11 минут; написано за 59 секунд)
Заголовок сообщения:
|
|
Апокалипсис
Напишите сюда или в личное сообщение список ложных срабатываний.
|
|
| Вернуться к началу |
|
 |
Rin
Участник форума

Зарегистрирован: 01.06.2005
Сообщ.: 488
Карма: 142 поощрить/наказать
Откуда: Москва
|
Добавлено: Чт Мая 01, 2008 8:20 pm (спустя 1 месяц 18 дней 23 часа 10 минут; написано за 11 секунд)
Заголовок сообщения:
|
|
| Последние обновления этой функции смотрите здесь
|
|
| Вернуться к началу |
|
 |
Кро
Гость
Карма: 367 поощрить/наказать
|
Добавлено: Ср Фев 04, 2009 11:53 am (спустя 9 месяцев 2 дня 15 часов 32 минуты; написано за 27 секунд)
Заголовок сообщения:
|
|
| Как пользоваться этой функцией если я хочу вырезать из текста всё матные слова?
|
|
| Вернуться к началу |
|
 |
Rin
Участник форума

Зарегистрирован: 01.06.2005
Сообщ.: 488
Карма: 142 поощрить/наказать
Откуда: Москва
|
Добавлено: Ср Фев 04, 2009 9:10 pm (спустя 9 часов 17 минут; написано за 1 минуту 2 секунды)
Заголовок сообщения:
|
|
Попробуйте модернизировать исходный код. В каком случае такое могло понадобиться?
|
|
| Вернуться к началу |
|
 |
Военный1
Гость
Карма: 367 поощрить/наказать
|
Добавлено: Пн Фев 09, 2009 6:38 pm (спустя 4 дня 21 час 28 минут; написано за 3 минуты 51 секунду)
Заголовок сообщения:
|
|
| Rin писал(а): |
|
В каком случае такое могло понадобиться? |
Дело в том, что если в строчке имеется больше 1го матерного слова, то функция возвращает только первое вхождение. В случае необходимости найти и заменить все слова - надо вызывать функцию до тех пор, пока она не вернет false. Я думаю, что речь шла об этом.
|
|
| Вернуться к началу |
|
 |
Savy
Заглянувший
Зарегистрирован: 13.02.2009
Сообщ.: 1
Карма: 0 поощрить/наказать
Откуда: Уфа
|
Добавлено: Ср Фев 18, 2009 3:50 am (спустя 8 дней 9 часов 11 минут; написано за 1 минуту 31 секунду)
Заголовок сообщения:
|
|
Всем Привет! А если в слове заменить русскую "а" на английскую, слово отловится? Это простой случай, можно ещё привести более изощрённые замены "ж" -> "*" (в сотовом телефоне один к одному :) )
|
|
| Вернуться к началу |
|
 |
Qyax
Гость
Карма: 367 поощрить/наказать
|
Добавлено: Ср Апр 15, 2009 1:36 pm (спустя 1 месяц 25 дней 9 часов 45 минут; написано за 1 минуту 6 секунд)
Заголовок сообщения:
|
|
А как же пробелы !? пример: С У К А, Х У Й или пример: идите все на х у й типа такого функция "пропустит" !? P.S. Сорри за нецензурщину :)
|
|
| Вернуться к началу |
|
 |
Юрий Насретдинов
Модератор

Зарегистрирован: 13.03.2003
Сообщ.: 8584
Карма: 237 поощрить/наказать
Откуда: 007 495
|
Добавлено: Ср Апр 15, 2009 4:05 pm (спустя 2 часа 29 минут; написано с мобильной версии)
Заголовок сообщения:
|
|
| Вроде не пропускает...
|
|
| Вернуться к началу |
|
 |
иван2323
Гость
Карма: 367 поощрить/наказать
|
Добавлено: Пн Апр 20, 2009 6:04 pm (спустя 5 дней 1 час 59 минут; написано за 17 секунд)
Заголовок сообщения: словарь
|
|
| не знает слова минет
|
|
| Вернуться к началу |
|
 |
Юрий Насретдинов
Модератор

Зарегистрирован: 13.03.2003
Сообщ.: 8584
Карма: 237 поощрить/наказать
Откуда: 007 495
|
Добавлено: Пн Апр 20, 2009 7:37 pm (спустя 1 час 32 минуты; написано за 11 секунд)
Заголовок сообщения:
|
|
иван2323
А это не мат
|
|
| Вернуться к началу |
|
 |
ClawFinger
Участник форума
Зарегистрирован: 21.06.2004
Сообщ.: 24
Карма: 2 поощрить/наказать
Откуда: Одесса
|
Добавлено: Пн Dec 28, 2009 2:16 pm (спустя 8 месяцев 7 дней 18 часов 39 минут; написано за 10 секунд)
Заголовок сообщения:
|
|
| мандарин цензурит...
|
|
| Вернуться к началу |
|
 |
Rin
Участник форума

Зарегистрирован: 01.06.2005
Сообщ.: 488
Карма: 142 поощрить/наказать
Откуда: Москва
|
Добавлено: Вт Dec 29, 2009 12:44 pm (спустя 22 часа 28 минут; написано за 26 секунд)
Заголовок сообщения:
|
|
[cutted]
Последний раз редактировалось: Rin (Пт Июл 30, 2010 10:31 am), всего редактировалось 1 раз
|
|
| Вернуться к началу |
|
 |
andy_v
Гость
Карма: 367 поощрить/наказать
|
Добавлено: Ср Мар 24, 2010 4:15 pm (спустя 2 месяца 26 дней 3 часа 30 минут; написано за 28 секунд)
Заголовок сообщения:
|
|
| на слово "чебуречная" , "чебурек" срабатывает :)
|
|
| Вернуться к началу |
|
 |
andy_v
Гость
Карма: 367 поощрить/наказать
|
Добавлено: Ср Мар 24, 2010 4:58 pm (спустя 42 минуты; написано за 31 секунду)
Заголовок сообщения:
|
|
| извините, именно так: "Чебурек", т.е. с заглавной буквы
|
|
| Вернуться к началу |
|
 |
andy_v
Гость
Карма: 367 поощрить/наказать
|
Добавлено: Ср Мар 24, 2010 5:06 pm (спустя 8 минут; написано за 12 секунд)
Заголовок сообщения:
|
|
| из той же оперы: "Не будет"
|
|
| Вернуться к началу |
|
 |
Rin
Участник форума

Зарегистрирован: 01.06.2005
Сообщ.: 488
Карма: 142 поощрить/наказать
Откуда: Москва
|
Добавлено: Пт Июл 30, 2010 10:32 am (спустя 4 месяца 5 дней 17 часов 25 минут; написано за 19 секунд)
Заголовок сообщения:
|
|
| Вышла новая версия 3.2.6
|
|
| Вернуться к началу |
|
 |
Александр Михалицын
Модератор
Зарегистрирован: 23.05.2008
Сообщ.: 1073
Карма: 90 поощрить/наказать
Откуда: Свердловская область, Краснотурьинск
|
Добавлено: Пн Авг 16, 2010 11:24 am (спустя 17 дней 52 минуты)
Заголовок сообщения:
|
|
|
|
|
| Вернуться к началу |
|
 |
|