در PHP یک تابع بنویسید که با استفاده از str_word_count تعداد کلمات منحصربه‌فرد یک رشتهٔ ورودی را شمارش کند و آرایه‌ای از کلمات به‌همراه فرکانس هر کلمه (به‌صورت کلمه => تعداد) برگرداند.

4.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 03:14

0.0

برای حل این مسأله از تابع str_word_count با فلگ 1 برای استخراج کلمات استفاده کنید، سپس با mb_strtolower متن را به حروف کوچک تبدیل کرده و با preg_replace علائم نگارشی را حذف کنید؛ در نهایت با array_count_values فراوانی هر کلمه را محاسبه کنید و نتیجه را برگردانید. این پیاده‌سازی با توابع استاندارد PHP انجام شده و مناسب تحلیل‌های سادهٔ متنی است. نکته: str_word_count برای متن‌های غیرلاتین (مثلاً فارسی) ممکن است درست عمل نکند — در آن صورت از preg_match_all('/\p{L}+/u', $text, $matches) یا preg_split('/\s+/u') برای استخراج کلمات چندبایتی استفاده کنید.

توسط پژوهشگر در 220 روز قبل ساعت 03:14
دسته بندی ها: PHP PHP for beginner
nima در 220 روز قبل ساعت 07:05

برای استخراج کلمات از رشته و به‌دست آوردن فرکانس هر کلمه از str_word_count با حالت 1 استفاده کنید و سپس از array_count_values برای تبدیل به کلمه => تعداد بهره ببرید. اگر متن غیرلاتین یا چندبایتی باشد، ممکن است str_word_count به‌خوبی کار نکند؛ در این حالت استفاده از روش‌های مبتنی بر یونیکد مانند preg_match_all('/\p{L}+/u', $text, $matches) پیشنهاد می‌شود. قبل از استخراج، متن را با mb_strtolower به حروف کوچک تبدیل کرده و علائم نگارشی را با preg_replace حذف کنید تا یکدست بودن کلمات حفظ شود. نتیجه به‌صورت آرایه‌ای با کلیدهای کلمه و مقادیر فرکانس هر کلمه بر می‌گردد که برای تحلیل‌های ساده مناسب است.

گزارش

1 پاسخ

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

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