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

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

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