در PHP تابع wordwrap را به کار ببرید تا یک رشتهٔ فارسی طولانی را به خطوط با حداکثر 50 کاراکتر تقسیم کنید و خروجی را بهصورت آرایهای از خطوط بازگردانید.
19.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:51 0.0
برای حل مسئله ابتدا متن را با یک عبارت منظم ساده پاکسازی کنید (مثلاً با preg_replace('/\s+/u', ' ', $text') فاصلههای اضافی را حذف و با trim آن را کوتاه کنید)، سپس از تابع wordwrap($text, 50, "\n", true) برای شکست خطوط استفاده کنید و با explode("\n", $wrapped) آن را به آرایه خطوط تبدیل نمایید. این روش برای آمادهسازی متن در کارهای پردازش داده و نمایش در خروجیهای تحلیلی مناسب است. نکتهها: از فلگ u در عبارات منظم برای پشتیبانی UTF-8 استفاده کنید، در صورت نیاز به جلوگیری از شکستن کلمات پارامتر چهارم wordwrap را false بگذارید، و برای حفظ درست کاراکترهای چندبایتی فارسی میتوانید قبل/بعد از عملیات از توابع mbstring مثل mb_strlen یا mb_substr استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای اطمینان از کارکرد صحیح با متن فارسی، قبل از تقسیم خطوط، متن را با preg_replace('/\s+/u', ' ', $text) پاکسازی کنید و آن را با trim کوتاه کنید. به خاطر کاراکترهای چندبایتی، از پرچم u در عبارات منظم استفاده کنید و همچنین توجه کنید که wordwrap با طول 50 کاراکتری ممکن است گاهی به درستی با کاراکترها برخورد نکند. برای جلوگیری از شکستن کلمات، پارامتر چهارم wordwrap را false بگذارید تا کلمات کامل نگه داشته شوند و در نهایت با explode("\n", $wrapped) آرایهٔ خطوط را بگیرید. اگر به طول دقیق کاراکترها اهمیت دارید، از mb_strlen یا mb_substr در محاسبه و نمایش خطوط استفاده کنید.
گزارش