سوالف اندرويد




العودة   سوالف سوفت > سوالف برمجة المواقع وتطويرها > PHP
التسجيل المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو نشيط
#1  
مانع الكلمات السيئه

السلام عليكم

ارغب بكود لمنع الكلمات السيئة في كتابة تعليق .. يعني لما العضو يكتب تعليق ويوجد كلمة سيئة تستبدل بكلمة اخرى ..

وجدت كثير اكواد .. ولكني لم اعرف ماذا بعد ايجاد الكود

مثلا وجدت هذا الكود بالاسفل . والكلمات الممنوعه توضع بملف تكست . حسنا وضعت الكلمات ووضع الكود بملف 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($badword01) == "[" && substr($badword, ($len 1), 1) == "]") {
            
$content preg_replace("@".substr($badword1, ($len 2))."@i"substr($rep0, (strlen($rep) - 2)), $content);
            continue;
        }
        
        
$badwordpreg=preg_split('//'$badword, -1PREG_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;

رجاء التوضيح اخوكم مبتدء






__________________
ليس كل ما يتمنى المرء يدركة
abdalbasit is offline   قديم 26-08-2009, 02:13 PM
الرد مع إقتباس
عضو سوبر نشيط
#2  

تفضل ان شاء الله يعجبك

كود PHP:
$bad_words explode('|''badword1|badword2|badword3|badword4');
foreach (
$bad_words as $naughty)
{
$comments eregi_replace($naughty"****"$comments);
}
  echo 
$comments






__________________
لا اله الا الله وحده لا شريك له . له الملك وله الحمد وهو على كل شئ قدير
الطالب is offline   قديم 26-08-2009, 03:29 PM
الرد مع إقتباس
عضو نشيط
#3  

اخي كما تلاحظ انا ارفقت كود مسبقا .. فمشكلتي ليست يالكود ولكن كيف استغلة .. يعني سواء الفنكشن اللي انا ارفقت او اللي انته ارفقت .. ايش اعمل فيهم .. كيف استغلهم في الفورم اللي عندي






__________________
ليس كل ما يتمنى المرء يدركة
abdalbasit is offline   قديم 26-08-2009, 11:46 PM
الرد مع إقتباس
عضو نشيط
#4  

اخي abdalbasit

مرر الحقل الذي تريد فلترته على الدالة
كود PHP:
 censor() 
او ضع هنا محتوى الملف المسؤول لديك .. ليستطيع الاخوة افادتك






__________________
-----------------------------------------------------------
:: همـ المشاعر ــس :: عبد الله :: للتصميم و التطوير ::
http://www.mr-sa.com
-----------------------------------------------------------
عبد الله الزايدي is offline   قديم 27-08-2009, 12:38 AM
الرد مع إقتباس
عضو نشيط جدا
#5  

الشرح موجود بالكود يا أخي
قم بإنشاء ملف بإسم censorwords.txt
وضع فيه الكلمات الممنوعة، بحيث كل كلمة في سطر
وقم بإرسال المحتوى الذي تريد فلترته إلى الدالة censor

بالتوفيق.






__________________
لا إله الا الله محمد رسول الله

فضائية الأقصى :: عينك على الوطن
نيلسات: 10872 عمودي 27500
عربسات: 12054 عمودي 27500


إعلامنا.. إسلامي.. هادف.. مقاوم.. لتعلو الراية..
MPHP is offline   قديم 27-08-2009, 05:51 PM
الرد مع إقتباس
عضو نشيط
#6  

تم حل المشكلة .. بارك الله بكم جميعا






__________________
ليس كل ما يتمنى المرء يدركة
abdalbasit is offline   قديم 28-08-2009, 09:58 AM
الرد مع إقتباس
عضو فعال
#7  

جزاك الله خيرا اخي الكريم

انا بستخدم هذا الداله

كود PHP:

function Badword($text,$MY_bade,$Op=",")
{
    foreach(
explode($Op,$MY_bade) as $MY_wordb)
    {
        
$NEW_text=preg_replace("/".$MY_wordb."/i","",$text);
    }
    return 
$NEW_text;

مع جدول في قاعدة البيانات فيه حقل واحد فقط توعة text وبقوم بفصل الكلمات بفاصلة , وبستخدم الداله
وبتحكم فيها من لوحة التحكم






__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
محمدهلال is offline   قديم 29-08-2009, 12:57 AM
الرد مع إقتباس
الرد على الموضوع



أدوات الموضوع

قوانين المشاركات
لا يمكنك كتابة مواضيع جديدة
لا يمكنك إضافة ردود
لا يمكنك إرسال مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
تعريف الكلمات الدليلية أو الكلمات المفتاحية Keywords t7t7.com تقنية محركات البحث Search Engine Optimization 3 07-05-2008 12:17 PM
هل احد لديه array فيه جميع الكلمات السيئه او طريقه مثاليه لفحص واستبدال الكلمات السيئ hamudi الويب والويب 2.0 والـ Semantic Web 4 19-01-2008 04:44 PM
هل احد لديه array فيه جميع الكلمات السيئه او طريقه مثاليه لفحص واستبدال الكلمات السيئ hamudi الويب والويب 2.0 والـ Semantic Web 0 16-01-2008 02:33 PM
هل يعتبر رتب امتداد للخدمات العربية السيئه بنظر المستخدم العربي؟ b9n9 الويب والويب 2.0 والـ Semantic Web 86 30-01-2007 08:57 PM
>>> اذا ماعندك مانع تفضل راعي الأوله الإصلاح والصيانة 0 05-11-2003 02:03 AM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 04:18 PM.