View Full Version : مبتدی: سوال در مورد PCRE modifiers
mostafa272
سه شنبه 22 فروردین 1391, 20:17 عصر
با سلام
سوال من در مورد رشته الگویی هست که در توابع ای مثه preg_match و یا preg_replace استفاده میشه.اینکه ترتیب کاراکترها تو رشته الگویی چه معنی میده و چه طوریه؟ مثلا
$user=preg_replace("([^a-z0-9_]*)",'',$user);
یعنی از متغیر user جز حروف کوچک ، اعداد و زیرخط بقیه رو حذف کن ؟
mostafa272
چهارشنبه 23 فروردین 1391, 14:00 عصر
بابا یکی پیدا نمیشه به ما توضیح بده دقیقا این عبارت منظم چه جوریه؟من می خوام با preg_match یه رشته رو کنترل کنم که فقط شامل حروف کوچک،عدد و زیر خط باشه(یعنی واسه کنترل عبارت بالا.ولی اینو تو preg_match میزارم درست جواب نمیده .
MostafaEs3
چهارشنبه 23 فروردین 1391, 17:56 عصر
دیروز میخواستم جواب بدم بعد از نوشتن پست ،لامصب اینترنتم قطع شد دیگه حوصله نکردم بنویسم !
ببین عبارت منظم خیلی راحته ... برای سرچ و چیزای دیگه میشه استفاده کرد ... مثلا ستاره ( * ) برای همه ی مقادیر به غیر از علامتهاست و گاهی فقط 1 حرف رو شامل میشه ... یا مثلا نقطه برای علامتها .. حالا مثلا اگه نقطه و ستاره باهم بیان منظورش همه ی مقادیر هست .. هرکدوم از پرانتز ها و چیزای دیگه هم یک کار خاصی انجام میدن
این کدی که الان گذاشتی میگه توی متن حروف انگلیسی کوچک و اعداد از 0 تا 9 رو پاک کن و فقط حروف بزرگ و علامتها رو نگهدار
حالا اگه بخوای حروف بزرگ رو حذف کنی دقیقا برعکس میشه .. یعنی میشه این :
$user=preg_replace("([^A-Z_]*)",'',$user);
درمورد عبارات منظم هم توی خود سایت php.net .. توی صفحه ی همین تابع یا preg_match که بری توی مطالب مرتبط یک لینکی هست به این اسم : PCRE PATTERNS ... اونجا کامل توضیح داده به زبان انگلیسی :لبخند:
mostafa272
چهارشنبه 23 فروردین 1391, 23:05 عصر
با عرض معذرت ولی فک کنم داری برعکس میگی!چون تست کردم رشته های مختلف رو اون کدی که نوشتم فقط حروف کوچک ، عدد و زیرخط رو قبول میکنه و غیر اون رو حذف می کنه از اون رشته!در هر صورت ممنون!
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.