За последние 24 часа нас посетили 20170 программистов и 1078 роботов. Сейчас ищут 772 программиста ...

Проверка на мат

Тема в разделе "Wordpress", создана пользователем justc, 11 апр 2019.

  1. justc

    justc Активный пользователь

    С нами с:
    27 сен 2015
    Сообщения:
    130
    Симпатии:
    0
    Доброго времени суток.

    Нужно как-то проверить текст в редакторе на матерные слова. (в постах)
    Плагинов таких не нашел. Пытаюсь хуками типа save_post, но не получается.
    Думал может как-то JS alert сделать: "Найден мат".

    Подскажите, как сделать.
     
  2. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    Идеальных вариантов нет, но всегда можно написать свое.

    1) Необходим массив матерных слов
    2) Регуляркой проверить текст, вырезать лишние символы и найти из пункта 1 подходящие слова
    3) Сообщить об этом пользователю.
     
  3. justc

    justc Активный пользователь

    С нами с:
    27 сен 2015
    Сообщения:
    130
    Симпатии:
    0
    я и пытался своё... но чет не получается
    мне нужно просто js alert с сообщением, что найден мат по маскам таким-то

    но, в вордпрессе с этим сложно, как вариант, использовать wp_die( 'Мат!' )
    пока не знаю как это будет работать, через add_action save_post

    нажимаешь сохранить, и если мат, то перекидывает на страничку wp_die ?
    вернуться можно? текст сохранится? надо потестировать

    проблема тогда в банальном php))
    как вывести сообщение, чтобы понятно было по каким маскам найден мат...
    чтобы было его легко найти в тексте потом...

    вот, я создал тему по этому поводу
    https://php.ru/forum/threads/poisk-slov.76169/
     
  4. justc

    justc Активный пользователь

    С нами с:
    27 сен 2015
    Сообщения:
    130
    Симпатии:
    0
    сделал через save_post
    wp_die

    осталось массив набить с матерными словами)
     
  5. Babka_Gadalka

    Babka_Gadalka Активный пользователь

    С нами с:
    16 фев 2019
    Сообщения:
    162
    Симпатии:
    23
    Адрес:
    Москва, Пушкина, Избушкина, 2й этаж душечка.
    словарный запас богат ?
     
  6. justc

    justc Активный пользователь

    С нами с:
    27 сен 2015
    Сообщения:
    130
    Симпатии:
    0
    @Babka_Gadalka поможешь?)
    --- Добавлено ---
    попробую поискать базу, ну и даже пару масок "ху" и "пиз" хорошо так уже основное ищут)) мне словарь-то и не нужен, только самое ходовое)
     
  7. Babka_Gadalka

    Babka_Gadalka Активный пользователь

    С нами с:
    16 фев 2019
    Сообщения:
    162
    Симпатии:
    23
    Адрес:
    Москва, Пушкина, Избушкина, 2й этаж душечка.
    ищи в поиске базу с матом php
     
  8. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    Не забывай, что маты можно писать как по-русски, так и на других языках :)
    Тот кто захочет обматерить-сделает это
     
  9. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Не всегда всё просто

    http://chajnik.ru/antimat
     
  10. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    И что не просто? Элементарное слово из трех букв система пропустила :)
     
  11. justc

    justc Активный пользователь

    С нами с:
    27 сен 2015
    Сообщения:
    130
    Симпатии:
    0
    с логикой не могу разобраться, чтобы сделать слова исключения...

    $content - текст, который проверяю на мат
    массив $mats - матерные слова, маски


    Код (Text):
    1. foreach ($mats as $mat) {
    2.     if (mb_stripos($content, $mat)) {
    3.         $maska .= '"<b>'.$mat.'</b>", ';
    4.     }
    5. }
    6.  
    7. if ($maska) {
    8. wp_die...

    как сделать, чтобы не было wp_die , если $mat совпадает со значением массива $isk_mats (список слов исключений)
     
  12. justc

    justc Активный пользователь

    С нами с:
    27 сен 2015
    Сообщения:
    130
    Симпатии:
    0
    мозги дымятся)

    Код (Text):
    1. foreach ($mats as $mat) {
    2.     if (mb_stripos($content, $mat)) {
    3.         $maska .= '"<b>'.$mat.'</b>", ';
    4.     }
    5.  
    6. foreach ($isk_mats as $isk_mat) {
    7. if (mb_stripos($isk_mat, $mat)) {if (mb_stripos($content, $isk_mat)) {$maska = NULL;} }
    8. }
    9.  
    10. }
    11. if ($maska) {
    12. wp_die...
    так вот не пашет, wp_die срабатывает со словом исключения
     
  13. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Это не ответ. Пришлите скрин.
     
  14. justc

    justc Активный пользователь

    С нами с:
    27 сен 2015
    Сообщения:
    130
    Симпатии:
    0
    @miltorg к примеру первые 5 букв из слова мандарин, с этим же словом и я застрял)) не могу исключить никак
    --- Добавлено ---
    но человек говорил про мат транслитом? на английском или еще каком
     
  15. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    У меня мандарина вообще не было. Сейчас есть:
    https://chajnik.ru/antimat2
    --- Добавлено ---
    Учитывается. Например:
    русская А и английская A - учитывается
     
  16. justc

    justc Активный пользователь

    С нами с:
    27 сен 2015
    Сообщения:
    130
    Симпатии:
    0
    @miltorg
    не подскажешь как ты исключение сделал? чтобы мандарин не обрабатывало
    --- Добавлено ---
    @miltorg
     

    Вложения:

    • sh.jpg
      sh.jpg
      Размер файла:
      24,6 КБ
      Просмотров:
      2
  17. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    /[м]+[$_]*[АаAa]+[$_]*[н]+[$_]*[д]+[$_]*[аa]+(?!р)/
    --- Добавлено ---
    По поводу полного транслита (вложенный файл) - я вообще это не делал. Матерится народ безграмотный. Они пробелы ставят, чёрточки. А чтоб на английском...
    Хотя написать можно.
    Сейчас в антиматерильнике всего 23 строки. И то. Кое где я просто фразы вносил целиком - не обрабатывая
     
  18. justc

    justc Активный пользователь

    С нами с:
    27 сен 2015
    Сообщения:
    130
    Симпатии:
    0
    @miltorg, мне нужно потом сообщение вывести по каким словам найдено.
    preg_match так может? найден мат такой-то
    --- Добавлено ---
    эм, сори))
    блин эти регулярки... беда с ними

    '(манда+(?!р)|слово)'

    второе слово не ищет, как поправить?
     
  19. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Вы хотите выучит регулярные выражения? Я не против. Напишите в личку. В личке же есть цена.
     
  20. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Где-то в дали плачут "застрафиг", "корабля", "употреблять", "команда" и множество других слов павших в свое время на ниве борьбы с матом по средствам масок.

    p.s. ЗастраФИГ, застраФИГ мать его за ногу, админа этого форума )))
     
  21. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    @justc
    Команда и корабля заборол.

    https://chajnik.ru/antimat2

    - с остальными возиться - лениво. Но решить это всё можно. И не сложно.
     
  22. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
  23. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Ваша ссылка задаёт слишком много вопросов для открытия - открывать не стал.
     
  24. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    Сервис radikal с 2005 года существует, странно, что ссылка задает какие-либо вопросы в принципе.

    В любом случае, лично я в этом не особо заинтересован, поэтому как будет угодно.
     
  25. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    @lastdays, подмену на латинскую транскрипцию не писал вообще s - это никак не с.
    Тема не интересна.
    Спросили - я ответил. Показал реализацию. Всё работает.
    Не Кушает слова с буквой s? - Ок. Не кушает.
    --- Добавлено ---
    Застраxyй - видите как просто.