نمایش نتایج 1 تا 6 از 6

نام تاپیک: فیلتر کردن برخی کارکترها در php

  1. #1

    فیلتر کردن برخی کارکترها در php

    سلام دوستان
    میخواستم ببینم چطور میتونم یکسری کارکترها رو تو یک رشته فیلتر کنم
    به عنوان مثال من از طریق یک فرم رشته زیر رو ارسال میکنم
    mytitle()@$#+-_

    حالا میخوام تمام کارکترها جز متن پاک بشه و در خروجی این چاپ بشه
    mytitle
    ممنون میشم راهنمایی بفرمایید
    با تشکر

  2. #2
    کاربر دائمی آواتار Mahdi.Spirit
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    گيلان
    پست
    123

    نقل قول: فیلتر کردن برخی کارکترها در php

    ميتونيد از دستور trim استفاده كنين
    شكل كلي دستور
    string trim ( string $str [, string $charlist ] )

    اينجا هم ميتونيد نمونه ببينيد:
    http://php.net/manual/en/function.trim.php

  3. #3

    نقل قول: فیلتر کردن برخی کارکترها در php

    با کمک این دستور:
    مثلا همون رشته ای که گفتید ، اول وارد یک متغیر کنید.مثل:
    $str="mytitle()@$#+-_";

    حالا با کمک دستور زیر کاری که گفتید انجام میشه:
    $str=str_replace("_","_",str_replace("_", "",$str ));
    $str=str_replace("-","-",str_replace("-", "",$str ));
    $str=str_replace("+","+",str_replace("+", "",$str ));
    $str=str_replace("#","#",str_replace("#", "",$str ));
    $str=str_replace("$","$",str_replace("$", "",$str ));
    $str=str_replace(")",")",str_replace(")", "",$str ));
    $str=str_replace("(","(",str_replace("(", "",$str ));



    موفق باشید :)

  4. #4
    کاربر دائمی آواتار sargardoon
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    دبی
    سن
    42
    پست
    172

    نقل قول: فیلتر کردن برخی کارکترها در php

    به روشی که به نظر من میرسه میتونید کاراکترهایی که نمیخواهید توی جمله باشه را داخل یک آرایه بذاری بعد توسط دستورات تکرار (LOOP) کاراکترها را پیدا کنی و آنها را حذف کنی و یا با حرف دیگری جایگزین کنی.

  5. #5
    کاربر دائمی آواتار Mahdi.Spirit
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    گيلان
    پست
    123

    نقل قول: فیلتر کردن برخی کارکترها در php

    البته اون Trim كه گفتم فقط كاركترها رو از اول يا آخر رشته حذف ميكنه اگر داخل متن هم اون كاركترها وجود داره استفاده از عبارات منظم بهتره:
    <?php 
    $string = "mytitle()@#+-_";
    $new_string = ereg_replace("\(|\)|\@|\\$|#|\+|-|_", "", $string);
    echo $new_string
    ?>

    اين براي حذف كردن اون كاراكترها بود

    براي اجازه دادن براي چاپ بعضي از كاراكترها (حروف كوچك ،‌بزرگ و اعداد) ميتونيد به جاي خط سوم اين خط رو بزاريد:
    $new_string = ereg_replace("[^A-Za-z0-9]", "", $string); 


    ضمنا بهتره كار با عبارات منظم رو تا حدودي بلد باشيد

  6. #6
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: فیلتر کردن برخی کارکترها در php

    به این صورت اطلاعات پست رو دریافت کن و داخل یک متغیر قرار بده
    کلمات یا کاراکترهایی که می خوایی فیلتر کنی رو فقط کافیه به $symbol اضافه کنی
    preg_replace هم که از وارد کردن اسکریپت و کدهای html جلوگیری می کنه
    همین



    $symbol = array(',', ')', '(', "'", '"','!', '?', '/', '[', ']', '+', '=', '#', '\x00', '\n', '\r', '\x1a', '&', '$');
    $Famili = preg_replace("/<.*?>/", "",$_POST['Famili'] );
    $Famili =str_replace( $symbol ,"",$Famili);

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •