Доброго времени суток. Нужно как-то проверить текст в редакторе на матерные слова. (в постах) Плагинов таких не нашел. Пытаюсь хуками типа save_post, но не получается. Думал может как-то JS alert сделать: "Найден мат". Подскажите, как сделать.
Идеальных вариантов нет, но всегда можно написать свое. 1) Необходим массив матерных слов 2) Регуляркой проверить текст, вырезать лишние символы и найти из пункта 1 подходящие слова 3) Сообщить об этом пользователю.
я и пытался своё... но чет не получается мне нужно просто js alert с сообщением, что найден мат по маскам таким-то но, в вордпрессе с этим сложно, как вариант, использовать wp_die( 'Мат!' ) пока не знаю как это будет работать, через add_action save_post нажимаешь сохранить, и если мат, то перекидывает на страничку wp_die ? вернуться можно? текст сохранится? надо потестировать проблема тогда в банальном php)) как вывести сообщение, чтобы понятно было по каким маскам найден мат... чтобы было его легко найти в тексте потом... вот, я создал тему по этому поводу https://php.ru/forum/threads/poisk-slov.76169/
@Babka_Gadalka поможешь?) --- Добавлено --- попробую поискать базу, ну и даже пару масок "ху" и "пиз" хорошо так уже основное ищут)) мне словарь-то и не нужен, только самое ходовое)
Не забывай, что маты можно писать как по-русски, так и на других языках Тот кто захочет обматерить-сделает это
с логикой не могу разобраться, чтобы сделать слова исключения... $content - текст, который проверяю на мат массив $mats - матерные слова, маски Код (Text): foreach ($mats as $mat) { if (mb_stripos($content, $mat)) { $maska .= '"<b>'.$mat.'</b>", '; } } if ($maska) { wp_die... как сделать, чтобы не было wp_die , если $mat совпадает со значением массива $isk_mats (список слов исключений)
мозги дымятся) Код (Text): foreach ($mats as $mat) { if (mb_stripos($content, $mat)) { $maska .= '"<b>'.$mat.'</b>", '; } foreach ($isk_mats as $isk_mat) { if (mb_stripos($isk_mat, $mat)) {if (mb_stripos($content, $isk_mat)) {$maska = NULL;} } } } if ($maska) { wp_die... так вот не пашет, wp_die срабатывает со словом исключения
@miltorg к примеру первые 5 букв из слова мандарин, с этим же словом и я застрял)) не могу исключить никак --- Добавлено --- но человек говорил про мат транслитом? на английском или еще каком
У меня мандарина вообще не было. Сейчас есть: https://chajnik.ru/antimat2 --- Добавлено --- Учитывается. Например: русская А и английская A - учитывается
@miltorg не подскажешь как ты исключение сделал? чтобы мандарин не обрабатывало --- Добавлено --- @miltorg
/[м]+[$_]*[АаAa]+[$_]*[н]+[$_]*[д]+[$_]*[аa]+(?!р)/ --- Добавлено --- По поводу полного транслита (вложенный файл) - я вообще это не делал. Матерится народ безграмотный. Они пробелы ставят, чёрточки. А чтоб на английском... Хотя написать можно. Сейчас в антиматерильнике всего 23 строки. И то. Кое где я просто фразы вносил целиком - не обрабатывая
@miltorg, мне нужно потом сообщение вывести по каким словам найдено. preg_match так может? найден мат такой-то --- Добавлено --- эм, сори)) блин эти регулярки... беда с ними '(манда+(?!р)|слово)' второе слово не ищет, как поправить?
Где-то в дали плачут "застрафиг", "корабля", "употреблять", "команда" и множество других слов павших в свое время на ниве борьбы с матом по средствам масок. p.s. ЗастраФИГ, застраФИГ мать его за ногу, админа этого форума )))
@justc Команда и корабля заборол. https://chajnik.ru/antimat2 - с остальными возиться - лениво. Но решить это всё можно. И не сложно.
Сервис radikal с 2005 года существует, странно, что ссылка задает какие-либо вопросы в принципе. В любом случае, лично я в этом не особо заинтересован, поэтому как будет угодно.
@lastdays, подмену на латинскую транскрипцию не писал вообще s - это никак не с. Тема не интересна. Спросили - я ответил. Показал реализацию. Всё работает. Не Кушает слова с буквой s? - Ок. Не кушает. --- Добавлено --- Застраxyй - видите как просто.