یک تابع PHP بنویسید که یک متن طولانی را با استفاده از wordwrap به خطوط ۷۵ کاراکتری بشکند، از شکستن کلمات در وسط جلوگیری کند و هر خط جدید را با تگ HTML <br> جایگزین کند.

10.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 01:05

0.0

برای حل این مسئله از تابع wordwrap در PHP استفاده کنید: wordwrap($text, 75, "<br>\n", false) تا طول هر خط به ۷۵ کاراکتر محدود شده و کلمات در وسط قطع نشوند؛ سپس نتیجه را برای نمایش HTML خروجی بدهید. اگر متن چند پاراگراف داشت، قبل از wordwrap آن را با explode و بعد از پردازش با implode یا تابع nl2br مدیریت کنید و در صورت نیاز برای پشتیبانی از حروف چندبایتی از توابع mb_* استفاده کنید.

توسط پژوهشگر در 198 روز قبل ساعت 01:05
دسته بندی ها: PHP PHP for beginner
nima در 198 روز قبل ساعت 01:06

تابع wordwrap پیشنهادی برای شکست خطوط تا ۷۵ کاراکتر مناسب است اما به‌خاطر رفتار مبتنی بر بایت بهتر است برای متن‌های UTF‑8 از توابع mb_* یا یک نگاشت مخصوص چندبایتی استفاده کنید تا جملات در میانهٔ کاراکترهای چندبایتی خراب نشوند. اگر متن چند پاراگراف دارد، آن را با explode بر اساس سطر جدید جدا کنید و هر پاراگراف را جداگانه wordwrap کرده سپس با <br> یا nl2br دوباره به هم بچسبانید و قبل از خروجی‌دادن از htmlentities برای جلوگیری از XSS استفاده کنید. در نهایت برای جلوگیری از ایجاد <br>های اضافه در انتها و حفظ ظاهر، خروجی را trim یا با منطق ساده‌ای شسته و آماده کنید و در صورت امکان از CSS مثل white-space: pre-wrap برای کنترل شکستن خطوط در سمت کلاینت هم استفاده کنید.

گزارش

1 پاسخ

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

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