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

0.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:23

0.0

برای حل مسئله می‌توانید ابتدا با str_word_count($text, 1) آرایه‌ای از کلمات را بگیرید، سپس با array_map('strtolower', ...) برای حساس‌نبودن به حروف کوچک/بزرگ آن‌ها را یکنوا کنید و با array_count_values فرکانس هر کلمه را بشمارید؛ در صورت نیاز از preg_replace برای حذف علائم نگارشی استفاده کنید. توجه داشته باشید که str_word_count برای رشته‌های لاتین مناسب است و برای متون چندبایتی مثل فارسی بهتر است از preg_split با پرچم u یا توابع mb_* استفاده کنید؛ این رویکردها در حوزهٔ پردازش متن/تحلیل داده و نگارش الگوهای منظم کاربرد دارند.

توسط پژوهشگر در 221 روز قبل ساعت 01:23
دسته بندی ها: PHP PHP for beginner
arman در 221 روز قبل ساعت 13:25

نکته مهم اینکه: str_word_count فقط برای متن‌های لاتین مناسب است و برای فارسی یا زبان‌های چندزبانه بهتر است از preg_split با پرچم u یا توابع mb_* استفاده کنید. برای پیاده‌سازی، می‌توانید با str_word_count($text, 1) آرایه‌ای از کلمات به دست آورید و با strtolower کردن تمام آن‌ها و استفاده از array_count_values، فرکانس هر کلمه را بیابید و در نهایت کل کلمات را از طریق count($words) بدست آورید. اگر بخواهید با علائم نگارشی هم کنار بیایید، قبل از شمارش از preg_replace برای حذف علامت‌ها استفاده کنید. این رویکرد در پردازش متن و تحلیل داده بسیار رایج است و می‌تواند با اضافه کردن نرمال‌سازی انجام شود.

گزارش

1 پاسخ

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

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