در PHP یک تابع بنویسید که با استفاده از strtr متن فارسی ورودی را برای پردازش دادهها استانداردسازی کند — مثلاً جایگزینی 'ي' با 'ی'، 'ك' با 'ک'، حذف کاراکتر تَطویل 'ـ' و تبدیل چند فاصله متوالی به یک فاصله.
1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:31 0.0
برای حل این مسئله یک آرایهٔ جایگزینی بسازید و آن را به strtr بدهید (مثلاً ['ي'=>'ی','ك'=>'ک','ـ'=>'']). پس از strtr برای فشردهسازی فاصلهها میتوانید از preg_replace('/\s+/u',' ',$text) و در پایان trim استفاده کنید. توجه کنید که متن باید با UTF-8 پردازش شود و در صورت نیاز از توابع mbstring استفاده کنید؛ strtr با آرایه سریع و مناسب برای نرمالسازی قبل از تحلیل متنی یا پردازش دادهها است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
استفاده از strtr با آرایه برای نرمالسازی متن فارسی کارآمد است و تبدیلها را در یک پاس انجام میدهد. کلیدهای آرایه باید دقیق انتخاب شوند تا نتیجه به درستی باشد (مثلاً ['ي'=>'ی','ك'=>'ک','ـ'=>''] ) و از هرگونه جایگزینیِ درونمتنی ناخواسته جلوگیری کند. پس از strtr میتوانید با preg_replace('/\s+/u',' ', $text) فاصلههای مکرر را فشرده کرده و با trim آن را به پایان برسانید. همچنین اطمینان حاصل کنید ورودی با UTF-8 باشد و در صورت نیاز از توابع mbstring بهره ببرید.
گزارش