Всех друзей поздравляем с Новым годом! Всего вам самого наилучшего! Всех благ, здоровья а материальное приложится!
СКРИПТЫ althtmlcssphpjsblog

Простой фильтр слов php пример поиск плохих слов в тексте, фильтруем мат

Поддержи проект!!! smile

Самый простой, какой только можно придумать – фильтр для слов через php! Как бы нам не хотелось жить в идеальном мире, но в нем как было так и есть множество идиотов, считающих себя самыми умными!

Чтобы им так не казалось на сайтах ставятся фильтры различной сложности и даже есть целые какие-то библиотеки! Или очень часто называют фильтрация плохих слов, матерный фильтр и т.д…

Как отфильтровать мат и др.нежелательные слова

  1. Алгоритм фильтра плохих слов/мата php
  2. Скрипт фильтра плохих слов/мата php
  3. Скрипт 2 фильтра плохих слов/мата php
  4. Поиск и замена плохих слов/мата php
  5. Скачать можно здесь
  1. Алгоритм фильтра плохих слов/мата php

    Это скорее не алгоритм, а необходимые элементы.

    В некую переменную мы должны положить наш текст, который нужно проверить.

    У нас должна быть функция, которая будет проверять этот текст на наличие мата.

    Массив "мат слов". Лучше всего использовать, построчно записанные "мат слова", в переменную, чтобы не заморачиваться с точками и запятыми при создании массива. А потом с помощью explode - автоматически создать массив.

    И далее сам процесс... в цикле проверять наличие мат слов в тесте.

    Самая главная проблема в фильтрации мата - это поиск и исключение матерных слов в тексте!

    В чем проблема!?

    Слово матерное, может быть в другом регистре, матерное слово может быть с пробелом, с тире, и др.знаками, с числом.

    Итого, напрашивается вывод, что нужно избавиться от всех знаков и пробелов, кроме букв, все привести к одному регистру, например к строчным -> strtolower и уже после этого нужно искать то слово!

    Как искать матерное слово!?

    Поскольку нужно проверять на совпадение каждого слова, то понадобится цикл

    Последнее время, чаще всего использую функцию substr_count - коротко записывается, хорошо работает - просто нравится!

    Замена матерного слова

    После того, как вы нашли слово, то его нужно заменить на... что-то... на ваше усмотрение

  2. Скрипт фильтра плохих слов/мата php

    Здесь надо сказать, что в какой-то момент strtolower так меня притомил, что я написал собственную функцию, чтобы она работала всегда -> strtolower собственная функция!

    1). Фильтрация плохих слов/мата в php.

    Для этого нам понадобится два объекта

    1.Где будем искать
    2.Что будем искать!
    Один из вариантов был уже описан на странице проверки на совпадение

    Текст нам нужно привести в нижний регистр(как я уже ранее говорил) -> strtolower

    1). Теперь немного о strtolower, если у вас UTF-8:

    $text = mb_strtolower($text , "UTF-8");

    2). Если у вас Windows-1251, то скорее всего должна сработать обычная strtolower:

    $text = strtolower($text);

    3). Способ, которым пользуюсь сейчас, берем собственную функцию, которой также говорили ранее

    $text = my_strtolower($text);

    Далее нам потребуется массив слов, которые будем искать в тексте

    Array

    (

    [0] => привет

    [1] => пока

    [2] => враг

    )

    Самый простой скрипт фильтрации плохих слов/мата php

    Этот скрипт сделан для понимания, как фильтрация должна работать...

    for($i = 0; $i < count($array); $i++)

    {

    $res = @substr_count($text , $array[$i]);

    if($res == true){ $Bad = " У нас нельзя ругаться "; }

    }


    Теперь давайте сделаем форму и в ней вы можете отправить какой-то текст с одним словам из выше указанного массива.

  3. Скрипт 2 фильтра плохих слов/мата php

    Второй вариант ничем не отличается по логике от первого, лишь было отличие в функции, которая искала совпадения [strpos]

    Это немного мудренее и вначале я использовал именно этот код…

    for ($i=0; $i < count($words); $i++)

    {

        if (@strpos($proverka_bad_words, trim($words[$i])) !== false) 

        {

        $Bad = " У нас нельзя ругаться ";     

        }

    }

  4. Поиск и замена плохих слов/мата php

    Что касается замены плохих слов, и вывода текста с каим-то,на что было заменено.. это - слишком трудоемкая задача и нет явного решения.

    Я встречался с такой задачей на нашей системе комментирования, и пришел к следующему - отправка на проверку админа данного сообщения, если мат обнаружен.

    Если сообщение, с матом прошло фильтр, то просто вручную удаляем сообщение. Пользователя блокируем навсегда!

    Время, сложность, ресурсы - требуемые на решение задачи замены этих слов не стоит всего этого! Но Вы!

    Всегда можете пойти своим путем.


Вас может еще заинтересовать список тем : #PHP | #PHP_BOOK |
Последняя дата редактирования : 22.02.2021 23:36
Название скрипта :Простой фильтр текста php
Скрипт № 35.3Ссылка на скачивание : Все скрипты на одной странице
//dwweb.ru/comments_1_5/include/img/hand_no_foto.png
no
no
Еще никто не прокомментировал! COMMENTS+   BBcode
аватар
🞨
Загрузить свой аватар
(max ширина, высота = 200px)

Подписаться + =
Теги:
фильтр текста как фильтровать текст фильтр нецензурных слов php фильтр мата php

Последние комментарии :
Марат :
08/02/2021 02:50
Всегда пожалуйста приходите ещё!
подробнее.
Павел :
08/02/2021 11:11
Спасибо большое. Очень поучительно.
подробнее.
Марат :
03/02/2021 07:22
03/02/2021Тестирование и разработка Comments+1.5 отложена на неопределенное…
подробнее.
Марат :
31/01/2021 08:31
Всегда пожалуйста!Рад, что помог!
подробнее.
Bambr :
31/01/2021 07:34
Огромное спасибо! )
подробнее.