CREATE TABLE IF NOT EXISTS `spam` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`text` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
теперь у вас есть база для слов которые будут заменяться на [spam] будь это мат или ссылка.
Чтобы добавить слово надо делать запрос:
INSERT INTO `spam` (`text`)VALUES(\'спам-слово\')\"
конечно можно это через сайт делать как у меня, но мне лень писать.
И так, код ниже вставляем в функцию вывода текста сообщений, в dcms например это output_text(), вставлять лучше после
function output_text()
{
$spa=mysql_query("SELECT * FROM `spam` ORDER BY `id` ASC");
while($sp=mysql_fetch_array($spa))
{
preg_match_all("/($sp[text])/iu",$str,$s);
for($is=0;isset($s[1][$is]);$is++)
$str=preg_replace("/($sp[text])/iu","<span style='color:red;'>[spam]</span>",$str,1);
}