با استفاده از 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 استفاده کنید تا کد خواناتر و سریع‌تر باشد.

توسط پژوهشگر در 201 روز قبل ساعت 03:28
دسته بندی ها: PHP PHP for beginner
sara در 201 روز قبل ساعت 06:20

استفاده از str_shuffle برای نام‌ها به‌طور سریع کار می‌کند اما برای حروف چندبایتی مانند فارسی بهتر است ابتدا نام را به کاراکترهای یونیکد تبدیل کنید و با استفاده از preg_split('//u', $name, -1, PREG_SPLIT_NO_EMPTY) آن را به آرایه‌ای از کاراکترها تبدیل کنید. سپس با shuffle($chars) جا‌به‌جایی تصادفی انجام داده و با implode('', $chars) دوباره رشته را بسازید. اگر می‌خواهید فاصله‌ها یا کاراکترهای خاص را جدا نگه دارید، می‌توانید آن‌ها را قبل از shuffle جدا کرده و پس از آن بازگردانید یا از regex برای فیلتر استفاده کنید. برای خوانایی و کارایی، می‌توانید پردازش هر نام را با array_map انجام دهید تا کد شما تمیز و سریع باقی بماند.

گزارش

1 پاسخ

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

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