با استفاده از PHP و تابع str_shuffle یک اسکریپت بنویس که یک آرایه از نامها را گرفته و حروف هر نام را بهصورت تصادفی جابهجا کند تا برای آنونیمسازی (حفاظت از اطلاعات) آماده شوند.
8.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:28 0.0
برای حل این مسئله میتوانید با حلقه یا تابع array_map روی آرایهی نامها تکرار کنید و برای هر نام از str_shuffle استفاده کنید؛ اگر نامها شامل حروف چندبایتی (مثل فارسی) هستند، ابتدا با preg_split('//u', $name, -1, PREG_SPLIT_NO_EMPTY) به آرایه حروف تبدیل کنید، سپس از shuffle() برای جابهجایی و از implode('',$chars) برای بازسازی رشته استفاده کنید. نکتهها: برای آنونیمسازی بهتر است حروف خاص یا فاصلهها را با regex جدا کنید و برای پردازش دستهای (Analytics) از توابع آرایهای PHP استفاده کنید تا کد خواناتر و سریعتر باشد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
استفاده از str_shuffle برای نامها بهطور سریع کار میکند اما برای حروف چندبایتی مانند فارسی بهتر است ابتدا نام را به کاراکترهای یونیکد تبدیل کنید و با استفاده از preg_split('//u', $name, -1, PREG_SPLIT_NO_EMPTY) آن را به آرایهای از کاراکترها تبدیل کنید. سپس با shuffle($chars) جابهجایی تصادفی انجام داده و با implode('', $chars) دوباره رشته را بسازید. اگر میخواهید فاصلهها یا کاراکترهای خاص را جدا نگه دارید، میتوانید آنها را قبل از shuffle جدا کرده و پس از آن بازگردانید یا از regex برای فیلتر استفاده کنید. برای خوانایی و کارایی، میتوانید پردازش هر نام را با array_map انجام دهید تا کد شما تمیز و سریع باقی بماند.
گزارش