Регистрация
DANFA Сближает людей!

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


Недавно пришлось написать 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].

Надеюсь статья для Вас была полезной!
Спасибо за внимание.
Теги: PHP
Написал(а)
Введите символы с картинки:
Reload Image
Type in the verification code above