در PHP یک تابع بنویسید که با استفاده از strtr متن فارسی ورودی را برای پردازش داده‌ها استانداردسازی کند — مثلاً جایگزینی 'ي' با 'ی'، 'ك' با 'ک'، حذف کاراکتر تَطویل 'ـ' و تبدیل چند فاصله متوالی به یک فاصله.

1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:31

0.0

برای حل این مسئله یک آرایهٔ جایگزینی بسازید و آن را به strtr بدهید (مثلاً ['ي'=>'ی','ك'=>'ک','ـ'=>'']). پس از strtr برای فشرده‌سازی فاصله‌ها می‌توانید از preg_replace('/\s+/u',' ',$text) و در پایان trim استفاده کنید. توجه کنید که متن باید با UTF-8 پردازش شود و در صورت نیاز از توابع mbstring استفاده کنید؛ strtr با آرایه سریع و مناسب برای نرمال‌سازی قبل از تحلیل متنی یا پردازش داده‌ها است.

توسط پژوهشگر در 221 روز قبل ساعت 01:31
دسته بندی ها: PHP PHP for beginner
arman در 221 روز قبل ساعت 12:57

استفاده از strtr با آرایه برای نرمال‌سازی متن فارسی کارآمد است و تبدیل‌ها را در یک پاس انجام می‌دهد. کلیدهای آرایه باید دقیق انتخاب شوند تا نتیجه به درستی باشد (مثلاً ['ي'=>'ی','ك'=>'ک','ـ'=>''] ) و از هرگونه جایگزینیِ درون‌متنی ناخواسته جلوگیری کند. پس از strtr می‌توانید با preg_replace('/\s+/u',' ', $text) فاصله‌های مکرر را فشرده کرده و با trim آن را به پایان برسانید. همچنین اطمینان حاصل کنید ورودی با UTF-8 باشد و در صورت نیاز از توابع mbstring بهره ببرید.

گزارش

1 پاسخ

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

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