در PHP با استفاده از تابع substr_replace یک اسکریپت بنویسید که در یک آرایه از شمارههای کارت یا شناسه، هر مورد را طوری ماسک کند که فقط چهار رقم آخر نمایش داده شود و بقیه ارقام با ستاره (*) جایگزین شوند.
3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:48 0.0
برای حل این مسئله از تابع substr_replace استفاده کنید: ابتدا طول رشته را با strlen یا برای متنهای چندبایتی با mb_strlen بهدست بیاورید، سپس با محاسبه طولی که باید ماسک شود (مثلاً strlen-4) یک رشته جایگزین شامل ستارهها با str_repeat بسازید و آن را با substr_replace در شروع رشته جایگزین کنید. برای پردازش آرایهها یا مجموعه دادهها میتوانید حلقه foreach یا array_map استفاده کنید و قبل از ماسککردن شرایط مرزی (مثل طول ≤ 4) را بررسی کنید تا دادههای کوتاه را تغییر ندهید. در صورت تمایل میتوانید از الگوهای منظم (preg_replace) بهعنوان راهحل جایگزین برای یادداشتزداییِ دادهها در تحلیلهای دادهها استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای ماسککردن آیتمهای آرایه با substr_replace، طول هر رشته را با strlen (یا mb_strlen در متنهای چندبایتی) محاسبه کنید و اگر طول ≤ 4 بود از تغییر صرفنظر کنید. مقدار ماسک را با str_repeat('*', $len - 4) بسازید و با substr_replace آن را از ابتدای رشته جایگزین کنید. برای کاربرد روی آرایه میتوانید از foreach یا array_map استفاده کنید تا روی همه موارد اعمال شود. توجه کنید که دادههای کارت یا شناسه معمولاً عددیاند اما بهتر است از mb_strlen برای ایمنی کاراکترهای چندبایتی و بررسی معتبر بودن طول قبل از ماسک استفاده شود.
گزارش