/
  • مشکل در ساخت فیلتر لغات بد

  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی مشکل در ساخت فیلتر لغات بد
    نویسنده پیام
    faghani آفلاین
    عليرضا فغاني
    ****

    ارسال‌ها: 341
    تاریخ عضویت: ۱۳۸۸ مرداد ۲۲
    اعتبار: 4
    تشکرها : 255
    ( 85 تشکر در 61 ارسال )
    ارسال: #1
    مشکل در ساخت فیلتر لغات بد
    سلام
    من کد زیر رو برای فیلتر کردن لغات بد در یک متن نوشتم که هربار که تست کردم دیدم فقط اخرین مقدار ارایه رو فیلتر میکنه!Huh
    مشکل از کجاست ؟
    کد :
    کد PHP:
    <?php

    //code loghat bad
    $bad_words = array('Badword' => 'filtershavad''badtar' => 'filterbad''abcd' => 'filters');

    //motor entekhab
    reset($bad_words);
    while( list(
    $word$filter) = each($bad_words)) {
    $kalame $word;
    $filterk $filter;
    }

    //matn bad
    $matn 'badtar va abcd va Badword va badtar';

    //motor replace kardan
    $replace_bad_words str_replace($kalame$filterk$matn);

    //khoroji
    $matn_salem $replace_bad_words;
    echo 
    $matn_salem;

    ?>

    من هربار که اجراش میکنم خروجی زیر رو میده :
    badtar va filters va Badword va badtar

    مشکل رو لطفا راهنمایی کنین...
    ایا روش بهتری هم هست؟Sad
    ۱۳۸۸ اسفند ۱۴ ۱۲:۳۳ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,697
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6197 تشکر در 3438 ارسال )
    ارسال: #2
    RE: مشکل در ساخت فیلتر لغات بد
    این چه‌ نوع کد نویسی هست؟ یه حلقه گذاشتی و متغیرهایی که توی حلقه به دست اومده خارج از حلقه گذاشتی؟
    منوال‌ رو کامل خوندین؟
    http://php.net/manual/en/function.str-replace.php
    str_replace می تونه آرایه به عنوان ورودی بگیره
    ۱۳۸۸ اسفند ۱۴ ۰۱:۱۶ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : faghani hidensoft
    faghani آفلاین
    عليرضا فغاني
    ****

    ارسال‌ها: 341
    تاریخ عضویت: ۱۳۸۸ مرداد ۲۲
    اعتبار: 4
    تشکرها : 255
    ( 85 تشکر در 61 ارسال )
    ارسال: #3
    RE: مشکل در ساخت فیلتر لغات بد
    حواسم نبودBlush
    پاک یادم رفته بودConfused

    داریم پیر میشیم دیگهBig Grin


    با تشکر
    ۱۳۸۸ اسفند ۱۴ ۰۱:۳۸ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    Y.P.Y آفلاین
    ناظم کل
    *******

    ارسال‌ها: 2,782
    تاریخ عضویت: ۱۳۸۷ دي ۲۸
    اعتبار: 103
    تشکرها : 2181
    ( 4856 تشکر در 2220 ارسال )
    ارسال: #4
    RE: مشکل در ساخت فیلتر لغات بد
    چرا
    کد PHP:
    reset($bad_words); 
    ؟
    یادت نره که str_ireplace
    Case-insensitive
    و شاید بهترش:
    mb_eregi_replace

    این هم Clone تابع str_ireplace برای PHP4
    کد PHP:
    # http://ir.php.net/manual/en/function.str-ireplace.php

      
    function str_ireplace($search,$replace,$subject){
        
    $token chr(1);
        
    $haystack strtolower($subject);
        
    $needle strtolower($search);
        while ((
    $pos=strpos($haystack,$needle))!==FALSE){
          
    $subject substr_replace($subject,$token,$pos,strlen($search));
          
    $haystack substr_replace($haystack,$token,$pos,strlen($search));
        }
        
    $subject str_replace($token,$replace,$subject);
        return 
    $subject;
      } 
    __________________________________________________________________________
    وبلاگ: Yousha.Blog.ir

    صدام: "اگر با ارتش شاه ایران طرف بودیم، یک ماهه جنگ را می بردیم"
    http://gulfnews.com/opinion/thinkers/ira...i-1.500997
    (آخرین ویرایش در این ارسال: ۱۳۸۸ اسفند ۱۴ ۰۷:۰۵ عصر، توسط Y.P.Y.)
    ۱۳۸۸ اسفند ۱۴ ۰۷:۰۱ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : hidensoft faghani
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS