در 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) به‌عنوان راه‌حل جایگزین برای یادداشت‌زداییِ داده‌ها در تحلیل‌های داده‌ها استفاده کنید.

توسط پژوهشگر در 202 روز قبل ساعت 02:48
دسته بندی ها: PHP PHP for beginner
arman در 202 روز قبل ساعت 08:25

برای ماسک‌کردن آیتم‌های آرایه با substr_replace، طول هر رشته را با strlen (یا mb_strlen در متن‌های چندبایتی) محاسبه کنید و اگر طول ≤ 4 بود از تغییر صرف‌نظر کنید. مقدار ماسک را با str_repeat('*', $len - 4) بسازید و با substr_replace آن را از ابتدای رشته جایگزین کنید. برای کاربرد روی آرایه می‌توانید از foreach یا array_map استفاده کنید تا روی همه موارد اعمال شود. توجه کنید که داده‌های کارت یا شناسه معمولاً عددی‌اند اما بهتر است از mb_strlen برای ایمنی کاراکترهای چندبایتی و بررسی معتبر بودن طول قبل از ماسک استفاده شود.

گزارش

1 پاسخ

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

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