چجور میشه متن ورودی از فرم را فیلترینگ کرد

dady123456

New Member
چجور میشه متن ورودی از فرم را فیلترینگ کرد
یعنی کلماتی که کاربر میفرسته را چک کنه اگه حرف یا کلمه بخصوصی در اون بود اونو حذف کنه یا تغییر بده
 

mohammad-s

Member
با str_replace راحت میشه این کار رو کرد ...
مثلا :
PHP:
$msg=$_POST['msg'];

$msg=str_replace('کلمات غیر اخلاقی','***',$msg):
echo $msg;
 

ziXet

مدیر انجمن PHP/MYSQL
چجور میشه متن ورودی از فرم را فیلترینگ کرد
یعنی کلماتی که کاربر میفرسته را چک کنه اگه حرف یا کلمه بخصوصی در اون بود اونو حذف کنه یا تغییر بده
البته میتونی یه آرایه تعریف کنی و کلمات غیر اخلاقی(!) رو replace کنی
 

dady123456

New Member
تو این خط خطا میگیره (نمیگزاره برنامه اجرا بشه)
$msg=str_replace('0','***',$msg):
اگه به این صورت بنویسم خطا برطرف میشه ولی فیلتر نمی کنه
$msg=str_replace('0','***',$msg);
 

jhoseini

Member
تو این خط خطا میگیره (نمیگزاره برنامه اجرا بشه)
$msg=str_replace('0','***',$msg):
اگه به این صورت بنویسم خطا برطرف میشه ولی فیلتر نمی کنه
$msg=str_replace('0','***',$msg);
این دو دستور هیچ فرقی باهم ندارن
 

dady1234

New Member
اگه این دوتا کد باهم فرقی ندارند چطور اولی کارنمی کنه دومی هم فیلتر نمی کنه
 

jhoseini

Member
آره ، فرق دارن :mad:
فرقشونم اینه که تو دستور اول به جای سیمیکالن ";" از 2نقطه ":" برای پایان استفاده شده
 

dady1234

New Member
خوب چرا ناراحت می شی ما که دعوا نداریم
فقط میگم چرا فیلتر نمی کنه همین
 

jhoseini

Member
ورودی های تابع str_replace ، یه نمومه از مقادیر ورودی هستند، و اشاره به نمونه اصلی ندارند
و str_replace محصول پردازش رو return میکنه

یه نمونه گذاشتم، تست شده:
PHP:
<?
$replace[0] = 'key 0';
$replace[1] = 'key 1';
$replace[2] = 'key 2';
$replace[3] = 'key 3';
$string =" this is key 1 and this is key 2 and this is key 8";
$unfiltered_string = $string;
for($i=0; $i<sizeof($replace); $i++){
	if(stristr($string,$replace[$i])){
		$string = str_replace($replace[$i],"<font color=red>***</font>",$string);
	}
}
echo "<hr>First string :<br>$unfiltered_string<hr>Filtered string:<br>$string";
?>
خروجی:
PHP:
--------------------------------------------------------------------------------
First string :
this is key 1 and this is key 2 and this is key 8
--------------------------------------------------------------------------------
Filtered string:
this is *** and this is *** and this is key 8
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا