فیلتر کردن برخی کارکترها در php
سلام دوستان
میخواستم ببینم چطور میتونم یکسری کارکترها رو تو یک رشته فیلتر کنم
به عنوان مثال من از طریق یک فرم رشته زیر رو ارسال میکنم
mytitle()@$#+-_
حالا میخوام تمام کارکترها جز متن پاک بشه و در خروجی این چاپ بشه
mytitle
ممنون میشم راهنمایی بفرمایید
با تشکر
نقل قول: فیلتر کردن برخی کارکترها در php
ميتونيد از دستور trim استفاده كنين
شكل كلي دستور
string trim ( string $str [, string $charlist ] )
اينجا هم ميتونيد نمونه ببينيد:
http://php.net/manual/en/function.trim.php
نقل قول: فیلتر کردن برخی کارکترها در 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 ));
موفق باشید :)
نقل قول: فیلتر کردن برخی کارکترها در php
به روشی که به نظر من میرسه میتونید کاراکترهایی که نمیخواهید توی جمله باشه را داخل یک آرایه بذاری بعد توسط دستورات تکرار (LOOP) کاراکترها را پیدا کنی و آنها را حذف کنی و یا با حرف دیگری جایگزین کنی.
نقل قول: فیلتر کردن برخی کارکترها در php
البته اون Trim كه گفتم فقط كاركترها رو از اول يا آخر رشته حذف ميكنه اگر داخل متن هم اون كاركترها وجود داره استفاده از عبارات منظم بهتره:
<?php
$string = "mytitle()@#+-_";
$new_string = ereg_replace("\(|\)|\@|\\$|#|\+|-|_", "", $string);
echo $new_string
?>
اين براي حذف كردن اون كاراكترها بود
براي اجازه دادن براي چاپ بعضي از كاراكترها (حروف كوچك ،بزرگ و اعداد) ميتونيد به جاي خط سوم اين خط رو بزاريد:
$new_string = ereg_replace("[^A-Za-z0-9]", "", $string);
ضمنا بهتره كار با عبارات منظم رو تا حدودي بلد باشيد
نقل قول: فیلتر کردن برخی کارکترها در php
به این صورت اطلاعات پست رو دریافت کن و داخل یک متغیر قرار بده
کلمات یا کاراکترهایی که می خوایی فیلتر کنی رو فقط کافیه به $symbol اضافه کنی
preg_replace هم که از وارد کردن اسکریپت و کدهای html جلوگیری می کنه
همین
$symbol = array(',', ')', '(', "'", '"','!', '?', '/', '[', ']', '+', '=', '#', '\x00', '\n', '\r', '\x1a', '&', '$');
$Famili = preg_replace("/<.*?>/", "",$_POST['Famili'] );
$Famili =str_replace( $symbol ,"",$Famili);