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