یک اسکریپت PHP بنویسید که یک جمله ورودی را گرفته و برای هر کلمه ترتیب حروف را با استفاده از تابع strrev معکوس کند در حالی که ترتیب کلمات در جمله حفظ شود.

2.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:34

0.0

برای حل این مسئله می‌توانید رشته ورودی را با explode یا preg_split بر حسب فاصله تقسیم کنید، سپس در حلقه‌ای برای هر کلمه تابع strrev را فراخوانی کرده و با implode آن‌ها را دوباره به هم بچسبانید. به‌عنوان جایگزین و برای حفظ فواصل و نشانه‌گذاری بهتر می‌توانید از preg_replace_callback با الگوی '\S+' استفاده کنید تا هر بخش غیر فاصله‌ای را پیدا و با strrev معکوس کنید. این تمرین ساده برای آشنایی با توابع متنی PHP (strrev) و روش‌های پردازش متن/رجکس مفید است؛ نکات مفید: trim کردن ورودی، انتخاب بین explode و preg_split و مدیریت فاصله‌ها و علائم نگارشی.

توسط پژوهشگر در 221 روز قبل ساعت 01:34
دسته بندی ها: PHP PHP for beginner
arman در 221 روز قبل ساعت 12:48

توجه کنید که strrev در PHP برای کار با متن‌های UTF-8 به‌درستی عمل نمی‌کند و کاراکترهای فارسی/عربی را به‌صورت بايت معکوس می‌کند. برای پشتیبانی از کاراکترهای چندبایتی از روش‌های معکوسِ کاراکتری مانند mb_str_split یا استفاده از preg_match_all('/./us') و سپس implode آن‌ها بهره بگیرید. اگر بخواهید فقط هر واژه را معکوس کنید و فاصله‌ها و علائم نگارشی را حفظ کنید، می‌توانید از preg_replace_callback با الگوی '\S+' استفاده کنید تا هر بخش غیر فاصله‌ای را معکوس کنید. همچنین قبل از پردازش ورودی را با trim تمیز کنید تا فاصله‌های اضافی از بین بروند.

گزارش

1 پاسخ

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

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