تالار گفتمان nCIS.ir

نسخه‌ی کامل: ایجاد ریجکس برای ایمیل
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
به نام خدا 
عرض سلام و خسته نباشید خدمت استاد عزیزم جناب مهندس شهرکی و سایر دوستان عزیز.

نیازمند کمکتان هستم به جهت اینکه دستورات نوشته شده زیر را تفکیک و تحلیل کنم 

preg_match("/b(?:(?:https?|ftp)://|www.)[-a-z0-9+&@#/%?=~_|!:,.;]*[-a-z0-9+&@#/%=~_|]/i",$website)

دراینجا مفهوم عبارت b چی هست ؟ با تشکر
اگر اشتباه نکنم باید مفهوم b و B توضیحاتی باشه که در خطوط زیر نوشتم.

جستجور در اولین کاراکتر رشته با b

$str='mos';

echo preg_match("/bm/",$str) ; output 1


جستجو در آخرین کاراکتر رشته با B

$str='osM';

echo preg_match("/BM/",$str) ; output 1
فقط الان برام سوال اینجاست . 
اینجا بعد از اولین پرانتز ?:

(?:(?:https?|ftps?)://|www.)

 و باز بعد از دومین پرانتز ?: چه معنی داره ؟ اگر نیاز به بررسی دستور کامل بود تو اولین نوشتم قرارش دادم.
هروقت توی پرانتز :? اومد یعنی اون گروه رو بررسی کن ولی بعنوان ارجاع ثبت نکن. یعنی نمیشه بعداً ازش با 1$ و... توی رشته‌ی جایگزینی (مثلاً توی دستور preg_replace و...) استفاده کنیم. فقط داریم یه گروه میسازیم.