نمایش صحیح متن ها و لیست های ترکیبی از fa/en

اگر تو تلگرام پست فارسی بزارین و اینتر بزنین و شروع کنین به انگلیسی تایپ کردن و باز اینتر بزنین و شروع کنین به فارسی تایپ کردن، تلگرام خودش جهت متن رو صحیح نمایش میده. چطوری؟ اینجوری:

تو یکی از پروژه ها نیازمند سازوکار ساده ای شبیه بالا برای نمایش متون ترکیبی و اعمال صحیح RTL/LTR بودم. مشکلم رو به شکل زیر در php با regex حل کردم:

این قطعه کد مربوط به blade هست که template engine لاراوله.

آپدیت: سپهر توی کامنت های این پست، یک نکته ای رو گفت که من تا حالا بهش برنخورده بودم و نمیدونستم. عملا بخش زیادی از کدهای بالا رو میشه فقط با dir=auto هندل کرد و این که متن باید راست چین باشه یا چپ چین رو به عهده مرورگر گذاشت. (البته گویا IE خیلی ساپورت درست درمونی نداره.)

بازدیدها: 19

۴ دیدگاه

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *