PDA

View Full Version : سوال: جلوگیری از ورو کاراکتر های غیر مجاز



ahmadbadpey
سه شنبه 26 آذر 1387, 21:02 عصر
دوستان با چه تابعی می تونم ببینم که توی یه رشته ، کاراکتر های مثلا ' , " ][)( به کار رفته و در صورت وجود داشتن اونها از ورود اون رشته جلوگیری کنم ؟

yaqubian
سه شنبه 26 آذر 1387, 21:41 عصر
دوست عزیز
شما باید از regular expression استفاده بفرمایید.
موفق باشید

terrorhell
سه شنبه 26 آذر 1387, 21:44 عصر
<?php
function _Strip_Tag($Str_Input)
{
$Str_Input= @strip_tags((string)$Str_Input);
$_Ary_TagsList= array('<!-', '<', '>','/','[',']','"',')','(', '%3C', '&lt', '&lt;', '&LT', '&LT;', '&Lt', '&Lt;', '&lT', '&lT;', '&#60', '&#060', '&#0060', '&#00060', '&#000060', '&#0000060', '<', '<', '<', '<', '<', '<', '&#x3c', '&#x03c', '&#x003c', '&#x0003c', '&#x00003c', '&#x000003c', '&#x3c;', '&#x03c;', '&#x003c;', '&#x0003c;', '&#x00003c;', '&#x000003c;', '&#X3c', '&#X03c', '&#X003c', '&#X0003c', '&#X00003c', '&#X000003c', '&#X3c;', '&#X03c;', '&#X003c;', '&#X0003c;', '&#X00003c;', '&#X000003c;', '&#x3C', '&#x03C', '&#x003C', '&#x0003C', '&#x00003C', '&#x000003C', '&#x3C;', '&#x03C;', '&#x003C;', '&#x0003C;', '&#x00003C;', '&#x000003C;', '&#X3C', '&#X03C', '&#X003C', '&#X0003C', '&#X00003C', '&#X000003C', '&#X3C;', '&#X03C;', '&#X003C;', '&#X0003C;', '&#X00003C;', '&#X000003C;', '\x3c', '\x3C', '\u003c', '\u003C', chr(60), chr(62));
$Str_Input= @str_replace($_Ary_TagsList, '', $Str_Input);
$Str_Input= @str_replace('
', '', $Str_Input);
unset($_Ary_TagsList);
return((string)$Str_Input);
}

?>


این تابع رو yousha گذاشته بود هر کاکرکتری که مد نظرت بود بهش اضافه کن

ahmadbadpey
چهارشنبه 27 آذر 1387, 09:40 صبح
با تشکر از دوستان
مسئله رو یه جور دیگه مطرح می کنم . نمیشه تعیین کنیم فقط حروف a تا z و اعداد 0 تا 9 وارد شوند به جای اینکه کاراکتر های خاصی رو تعیین کنیم
با تشکر

narsic
چهارشنبه 27 آذر 1387, 10:49 صبح
با سلام
دوست عزیز میتونی از جاوا اسکریپت استفاده کنی .
موفق باشی

Yousha
چهارشنبه 27 آذر 1387, 21:26 عصر
با تشکر از دوستان
مسئله رو یه جور دیگه مطرح می کنم . نمیشه تعیین کنیم فقط حروف a تا z و اعداد 0 تا 9 وارد شوند به جای اینکه کاراکتر های خاصی رو تعیین کنیم
با تشکر

$Str_Input= @preg_replace('/[^a-zA-Z0-9]/i', '', $Str_Input)
موفق باشید.

ahmadbadpey
پنج شنبه 28 آذر 1387, 09:00 صبح
$Str_Input= @preg_replace('/[^a-zA-Z0-9]/i', '', $Str_Input)
موفق باشید.

با تشکر از دوستان عزیز
شاید منظورمو درست نگفته باشم . من یه تابعی ( حالا کتابخونه ای باشه یا نه فرقی نمی کنه ) می خوام که یه رشته رو بررسی کنه ببینه اگه کاراکتر هایی غیر از a-z یا 0-9 توشه مقدار true رو برگردونه .

Yousha
پنج شنبه 28 آذر 1387, 12:59 عصر
من یه تابعی(حالا کتابخونه ای باشه یا نه فرقی نمی کنه) می خوام که یه رشته رو بررسی کنه ببینه اگه کاراکتر هایی غیر از a-z یا 0-9 توشه مقدار true رو برگردونه.
اگر منظورتونو درست متوجه شده باشم:


if(ereg("[^a-zA-Z0-9]", $Str_Input)): echo('Is alnum.');
else: echo('Is not alnum.');
endif;
یا

if(ctype_alnum($Str_Input)): echo('Is alnum.');
else: echo('Is not alnum.');
endif;
موفق باشید.