یک اسکریپت PHP بنویسید که با استفاده از تابع strtr مخففها و اصطلاحات انگلیسی متداول (مثل "ASAP", "FYI", "ETA") را در یک متن ورودی به معادلهای فارسی خوانا تبدیل کند.
3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:58 0.0
برای حل این مسئله در PHP یک آرایهٔ وابسته (associative) بسازید که هر کلید مخفف انگلیسی و مقدار متناظر آن معادل فارسی باشد، سپس از strtr($text, $map) برای جایگزینیها استفاده کنید؛ strtr همزمان جایگزینیها را انجام میدهد و برای کلیدهای ASCII بسیار سریع است. توجه داشته باشید که strtr به حروف بزرگ/کوچک حساس است — اگر میخواهید جایگزینی بدون توجه به حروف انجام شود، یا کلیدها را در حالتهای مختلف اضافه کنید یا قبل از جایگزینی متن را با تابعهایی مثل mb_strtoupper استانداردسازی کنید؛ همچنین برای جلوگیری از جایگزینی درون کلمات دیگر میتوانید از تنظیمات مناسب در آرایهٔ کلیدها یا ترکیب با preg_replace برای مرزبندی واژهها استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکتهٔ کلیدی این روش استفاده از آرایهٔ نقشهٔ_ASSOCIATIVE با کلیدهای ASCII است تا strtr بهطور کارآمد جایگزینها را اعمال کند. توجه کنید که strtr نسبت به حروف بزرگ/کوچک حساس است؛ اگر میخواهید جایگزینی بیتفاوت به حروف باشد، کلیدها را در حالتهای مختلف اضافه کنید یا متن را پیش از جایگزینی استانداردسازی کنید. برای جلوگیری از تغییر درون واژهها میتوانید از مرزبندی واژهها با regex یا ترکیب با preg_replace استفاده کنید. همچنین در مورد متون فارسی، در نظر گرفتن کاراکترهای غیرلاتین و استفاده از توابع mb_* برای پیشپردازش میتواند به پایداری نتیجه کمک کند.
گزارش