النتائج 1 إلى 7 من 7

الموضوع: مانع الكلمات السيئه

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    97

    مانع الكلمات السيئه



    السلام عليكم

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

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

    مثلا وجدت هذا الكود بالاسفل . والكلمات الممنوعه توضع بملف تكست . حسنا وضعت الكلمات ووضع الكود بملف 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;

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





    __________________
    ليس كل ما يتمنى المرء يدركة


  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Nov 2000
    المشاركات
    504


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

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






    __________________
    لا اله الا الله وحده لا شريك له . له الملك وله الحمد وهو على كل شئ قدير

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    97


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





    __________________
    ليس كل ما يتمنى المرء يدركة



  4. اخي abdalbasit

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





    __________________
    -----------------------------------------------------------
    :: همـ المشاعر ــس :: عبد الله :: للتصميم و التطوير ::
    http://www.mr-sa.com
    -----------------------------------------------------------

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2008
    المشاركات
    438


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

    بالتوفيق.





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

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


    إعلامنا.. إسلامي.. هادف.. مقاوم.. لتعلو الراية..

  6. #6
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    97


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





    __________________
    ليس كل ما يتمنى المرء يدركة

  7. #7
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


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

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

    كود 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





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض