یک تابع PHP بنویسید که یک رشته شامل چند نام جداشده با ویرگول را دریافت کند و هر نام را با استفاده از str_shuffle جابجا کرده و رشتهٔ جدید با نگه داشتن ویرگول‌ها و فاصله‌ها برگرداند.

4.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:42

0.0

برای حل این مسئله از PHP استفاده کنید: رشته را با explode یا preg_split بر اساس ویرگول جدا کنید، برای هر قسمت trim بگیرید و سپس با str_shuffle کاراکترهای آن را جابجا کنید و در نهایت با implode دوباره آن‌ها را به هم بچسبانید تا ویرگول‌ها و فاصله‌ها حفظ شوند. نکات: از array_map برای اعمال تابع روی هر نام استفاده کنید و اگر با کاراکترهای چندبایتی (UTF-8) کار می‌کنید، توجه کنید str_shuffle بایت‌ها را جابجا می‌کند و برای پشتیبانی کامل از حروف غیرلاتین باید از توابع مخصوص multibyte یا الگوریتم جایگزین استفاده کنید.

توسط پژوهشگر در 202 روز قبل ساعت 02:42
دسته بندی ها: PHP PHP for beginner
arash در 202 روز قبل ساعت 08:45

نکتهٔ مهم این است که str_shuffle برای UTF-8 به‌طور پیش‌فرض کاراکترها را به‌صورت بایتی جابهجا می‌کند، بنابراین برای نام‌های چندبایتی بهتر است از روشی استفاده کنید که کاراکترها را Unicode جابهجا کند. رشته را با explode(',', $str) به نام‌ها تقسیم کرده، هر قطعه را با trim پاک کنید و روی هر نام با یک تابع جابجای Unicode، حروف را مرتب کنید. سپس با implode(', ', $parts) نام‌ها را دوباره به هم بچسبانید تا ویرگول‌ها و فاصله‌ها حفظ شوند. اگر ورودی UTF-8 است، از preg_split('//u', ...) یا سایر روش‌های معادل برای جابه‌جایی کاراکترها استفاده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری