$mat1=array('нехорошее слово 1','нехорошее слово 2','нехорошее слово 3');
$mat2=array('хорошее слово 1','хорошее слово 2','хорошее слово 3');
$msg=str_replace($mat1,$mat2,$msg);
вот простейший антимат
а вообще по теме, за ненужной оптимизацией гонишься, инициализация массива больше процессорного времени займет чем простое сравнение переменных, с оговоркой что пунктов сравнения не сильно много
5,6 антимат в полезных кусках кода есть, там вобще много чего есть, рекомендую посмотреть.
Удаленный
07.04.2010 / 14:23
Дух
0
<?php
$autochange = "mat.dat";// файл базы матов
// функция замены слов
function auto ($path){
global $autochange;
$general = file ($autochange);
if ( !empty ($general)){
for ($ii=0; $ii < count ($general); $ii++){
list ($aut3,$aut2) = explode ("::", $general[$ii]);
$aut3_arr = preg_split ("//",$aut3);
$content = '~';
for ($iii=0; $iii < sizeof ($aut3_arr); $iii++){ $content .= $aut3_arr[$iii]."[ \r\n\t]*"; }
$content .= '~is';
if ( preg_match ($content,$path)){$path = preg_replace ($content,' '.$aut2.' ',$path); }
}
}
return $path;
}
$path = auto ($path);
?>
Пример размещения слов в файле
муда::*::
mуда::*::
Я вообще писал модуль,замены и добавки матов и прочей ахинеи типа рекламы прямо с скрипта,а вот строить редактированием файл это лишний геморрой.
Для выполнения действия необходимо авторизоваться!