+ محدودیت زمان: ۱ ثانیه
+ محدودیت حافظه: ۲۵۶ مگابایت
----------
در دنیای توسعه نرمافزار، [**ایرانسرور** *(IranServer)*](https://www.iranserver.com/) همواره به دنبال **بهترین راهحلها** بود تا پروژههایش را منظمتر و حرفهایتر مدیریت کند. یکی از چالشهای اخیر تیم فنی، ایجاد یک تابع *slug* بود که بتواند متنها را به **قالبی استاندارد و یکنواخت** تبدیل کند. تابعی که **تمام حروف** را کوچک کند، **علائم نگارشی** را **حذف** کند و **فاصلهها** را با **خط تیره** جایگزین کند. اما مشکلی وجود داشت؛ در برخی از متون، نام **ایرانسرور** به صورت `"Iran Server"` نوشته شده بود و این باعث میشد که خروجی نهایی یکپارچه **نباشد**.

تیم توسعه پس از بررسیهای فراوان، تصمیم گرفت این مشکل را یک بار برای همیشه حل کند. آنها از شما میخواهند که این تابع را پیادهسازی کنید. یک رشتهی متنی حاوی کلمات انگلیسی، اعداد، و علائم نگارشی داریم. هدف این است که رشته را به یک *slug* تبدیل کنیم.
# جزئیات پروژه
پروژهی اولیه را از [این لینک](/contest/assignments/81560/download_problem_initial_project/279968/) دانلود کنید.
شما باید **تابع** `slugify` را به شکل زیر پیادهسازی کنید تا این کار را انجام دهد:
```php solution.php php
<?php
function slugify(string $input): string {
// TODO
}
```
### **ورودی تابع:**
+ **یک رشتهی متنی** *(حاوی حروف انگلیسی کوچک و بزرگ، اعداد، فاصله، و علائم نگارشی).*
### **خروجی تابع:**
+ یک **رشته** بهصورت *slug* که مطابق شرایط زیر پردازش شده است:
+ **تمامی حروف به حروف کوچک تبدیل شوند.**
+ **تمام علائم نگارشی از متن حذف شوند.**
+ **فاصلهها با یک خط تیره** (`-`) **جایگزین شوند.**
+ اگر کلمات `"iran"` و `"server"` **به صورت متوالی و بهترتیب با یک فاصله** ظاهر شوند، به عبارت `"iranserver"` **ادغام** شوند.
# مثالها
### نمونه ورودی ۱:
```bash
>> slugify("HeLLo Iran ServEr! PHP / Laravel ConTeSt 2025!");
```
### نمونه خروجی ۱:
```bash
>> hello-iranserver-php-laravel-contest-2025
```
### نمونه ورودی ۲:
```bash
>> slugify(" Hello #World FROM @IRan SerVeR! ");
```
### نمونه خروجی ۲:
```bash
>> hello-world-from-iranserver
```
# آنچه باید آپلود کنید
یک فایل *PHP* با نام `solution.php` که **تابع** `slugify` در آن پیادهسازی شده است آپلود کنید.
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.