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

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

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

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

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

Я категорически против всякого усложнения и нагромождения кода! Я как-то уже писал о том, как я искал для себя счётчик скачиваний, в общем там, я почти в три раз сократил исполнительный код! Я не понимаю! Откуда появляются эти портянки кода! Код должен быть коротким и понятным, ну, насколько это возможно!

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

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

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

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

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

    Итого, напрашивается вывод, что нужно избавиться от всех знаков и пробелов, кроме букв, все привести к одному регистру, например к строчным -> 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_FUNCTION |
Последняя дата редактирования : 2020-02-02 11:25
Название скрипта :Простой фильтр текста php
Скрипт № 34.3Ссылка на скачивение: Все скрипты на одной странице
//dwweb.ru/comments_1_5/include/img/hand_no_foto.png
no
no
Еще никто не прокомментировал! COMMENTS+   BBcode
аватар
🞨
Загрузить свой аватар
(max ширина, высота = 200px)

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

Последние комментарии :
Марат :
02/09/2020 03:25
Рад, что помог! Приходите еще!
подробнее.
Алексей :
02/09/2020 01:16
Спасибо Кое-что пригодилось!
подробнее.
Павел :
26/08/2020 05:57
textarea В таблице, а таблица в родительском div, а этот див является частью аккордеона, сам textarea без displey: none, но…
подробнее.
Марат :
26/08/2020 04:22
Столько написали и ничего не понятно!У вас есть textarea со свойством "display: none;" - непонятно... зачем textarea скрытый и…
подробнее.
Павел :
26/08/2020 08:02
Здравствуйте. Пишу плагин для таблицы, в таблице много textarea, плагин и таблица расположены в скрытой вкладке…
подробнее.