- محدودیت زمان: ۱ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
در دنیای توسعه نرمافزار، ایرانسرور (IranServer) همواره به دنبال بهترین راهحلها بود تا پروژههایش را منظمتر و حرفهایتر مدیریت کند. یکی از چالشهای اخیر تیم فنی، ایجاد یک تابع slug بود که بتواند متنها را به قالبی استاندارد و یکنواخت تبدیل کند. تابعی که تمام حروف را کوچک کند، علائم نگارشی را حذف کند و فاصلهها را با خط تیره جایگزین کند. اما مشکلی وجود داشت؛ در برخی از متون، نام ایرانسرور به صورت "Iran Server"
نوشته شده بود و این باعث میشد که خروجی نهایی یکپارچه نباشد.
تیم توسعه پس از بررسیهای فراوان، تصمیم گرفت این مشکل را یک بار برای همیشه حل کند. آنها از شما میخواهند که این تابع را پیادهسازی کنید. یک رشتهی متنی حاوی کلمات انگلیسی، اعداد، و علائم نگارشی داریم. هدف این است که رشته را به یک slug تبدیل کنیم.
جزئیات پروژه
پروژهی اولیه را از این لینک دانلود کنید.
شما باید تابع slugify
را به شکل زیر پیادهسازی کنید تا این کار را انجام دهد:
ورودی تابع:
- یک رشتهی متنی (حاوی حروف انگلیسی کوچک و بزرگ، اعداد، فاصله، و علائم نگارشی).
خروجی تابع:
- یک رشته بهصورت slug که مطابق شرایط زیر پردازش شده است:
- تمامی حروف به حروف کوچک تبدیل شوند.
- تمام علائم نگارشی از متن حذف شوند.
- فاصلهها با یک خط تیره (
-
) جایگزین شوند. - اگر کلمات
"iran"
و"server"
به صورت متوالی و بهترتیب با یک فاصله ظاهر شوند، به عبارت"iranserver"
ادغام شوند.
مثالها
نمونه ورودی ۱:
نمونه خروجی ۱:
نمونه ورودی ۲:
نمونه خروجی ۲:
آنچه باید آپلود کنید
یک فایل PHP با نام solution.php
که تابع slugify
در آن پیادهسازی شده است آپلود کنید.
ارسال پاسخ برای این سؤال