السلام عليكم
ارغب بكود لمنع الكلمات السيئة في كتابة تعليق .. يعني لما العضو يكتب تعليق ويوجد كلمة سيئة تستبدل بكلمة اخرى ..
وجدت كثير اكواد .. ولكني لم اعرف ماذا بعد ايجاد الكود
مثلا وجدت هذا الكود بالاسفل . والكلمات الممنوعه توضع بملف تكست . حسنا وضعت الكلمات ووضع الكود بملف post .. ولكن ماهي طريقة اخبار ملف البوست للفورم انه اذا فيه كلمة سية استبدلها..
كود PHP:
function censor($content){
//If you want to use the censor, make a file called censorwords.txt , and put each word you want censored on a new line.
//Written by Garrett P. www.garrettsites.net
$words_list=@file('censorwords.txt');
$search=array('a','b','i','l','o','p','s');
$replace=array('(?:a|\@|\*)','(?:b|8|3|\*)','(?:i|1|l|\!|\*)','(?:l|1|i|\!|\*)','(?:o|0|\*)','(?:p|\?|\*)','(?:s|\$|\*)');
foreach($words_list as $badword){
$badword=rtrim($badword);
$len=strlen($badword);
if($len <= 0)
continue;
$rep='';
for($i=0; $i < $len; $i++){
$rep.='-';
}
// Check to see if this word has brackets around it. If it is bracked, censor it in a simple form.
if (substr($badword, 0, 1) == "[" && substr($badword, ($len - 1), 1) == "]") {
$content = preg_replace("@".substr($badword, 1, ($len - 2))."@i", substr($rep, 0, (strlen($rep) - 2)), $content);
continue;
}
$badwordpreg=preg_split('//', $badword, -1, PREG_SPLIT_NO_EMPTY);
$badwordpreg=str_replace($search, $replace, $badwordpreg);
$badword='';
for($i=0; $i < count($badwordpreg); $i++){
$badword.=$badwordpreg[$i];
if($i != (count($badwordpreg)-1)) $badword.='(.{0,5})';
}
$badword="/$badword/i";
$content=preg_replace($badword, $rep, $content);
}
return $content;
}
رجاء التوضيح اخوكم مبتدء