Автозамена слов в тексте (Анти Мат) на PHP

Форум для тех кто начинает осваивать язык php.
Аватара пользователя
Slash
Администратор
Сообщения: 2207
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 81 раз

Автозамена слов в тексте (Анти Мат) на PHP

#1

Сообщение Slash » Вс май 18, 2014 2:55 pm

Здравствуйте.
Недавно пришлось написать PHP скрипт Анти Мата для одного своего проекта. Скрипт получился несложным, небольшим, но отлично справляется со своей задачей. И так, я использовал функцию str_replace(), данная функция заменяет заданные слова/фразы найденные в тексте на те которые заданы для замены. Дальше получаем текст в переменную $text, создаем массив с запрещенными словами, то есть слова, которые надо сменить на другое слово или фразу. Делаем так:

Код: Выделить всё

$censor = array( 
    'BIOS',
    'работоспособность',
    'материнская плата', 
); 
Тут конечно у Вас будет свой набор слов/фраз, можно добавить больше заменяемых слов. Теперь пишем то слово, которое будет заменять найденные слова из массива в тексте:

Код: Выделить всё

$replace = '<b>[censor]</b>';
Ну а теперь собственно сам процесс поиска и замена слов в тексте:

Код: Выделить всё

$text = str_replace($censor, $replace, $text);
После этого можно выводить значение переменной $text на экран, где текст будет уже исправлен!
Теперь соберем весь код нашего Анти Мата в одну кучу, и для примера замены слов в тексте возьмем пару предложений из одной статьи нашего форума:

Код: Выделить всё

$text = 'Прошивка BIOS – дело трудоёмкое и ответственное. Ответственность заключается в том, что если во время прошивки что-то пойдёт не так, то материнская плата может потерять свою работоспособность.';
$censor = array( 
    'BIOS',
    'работоспособность',
    'материнская плата',
);
$replace = '<b>[censor]</b>';
$text = str_replace($censor, $replace, $text);
echo $text;
На экран выйдет такой текст:
Прошивка [censor] – дело трудоёмкое и ответственное. Ответственность заключается в том, что если во время прошивки что-то пойдёт не так, то [censor] может потерять свою [censor].
Надеюсь статья для Вас была полезной!
Спасибо за внимание.

Реклама

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей