آموزش تابع str_word_count پیدا کردن تعداد کلمات با PHP

آموزش تابع str_word_count پیدا کردن تعداد کلمات با PHP

پیدا کردن تعداد کلمات با PHP – با استفاده از تابع str_word_count می توانید تعداد کلماتی را که در یک متن نوشته وجود دارد را بیابید .


این تابع دارای 3 ورودی است که ورودی اول اجباری :

1- متنی که تعداد کلمات را در آن پیدا کند
2- نحوه خروجی تعداد کلمات ( پیشفرض 0 )
3- کاراکتری هایی را که به عنوان کلمه در نظر بگیرد ( پیشفرض رشته خالی )


پیدا کردن تعداد کلمات با PHP

در صورتی که ورودی 2 داده نشود یا 0 باشد تنها تعداد کلمات پیدا شده را بر می گرداند .

$str = "hello every body welcome to rapidcode.ir let's write se7en line code !";

echo str_word_count($str); // 13 


ورودی دوم str_word_count

حال اگر ورودی 2 را 1 بدهیم خروجی به صورت یک آرایه شامل تمامی کلمات پیدا شده در متن خواهد بود .

var_dump(str_word_count($str, 1));

/*

array (size=13)
  0 => string 'hello' (length=5)
  1 => string 'every' (length=5)
  2 => string 'body' (length=4)
  3 => string 'welcome' (length=7)
  4 => string 'to' (length=2)
  5 => string 'rapidcode' (length=9)
  6 => string 'ir' (length=2)
  7 => string 'let's' (length=5)
  8 => string 'write' (length=5)
  9 => string 'se' (length=2)
  10 => string 'en' (length=2)
  11 => string 'line' (length=4)
  12 => string 'code' (length=4)

*/


همچنین اگر ورودی دوم را به 2 تغیر دهیم خروجی همان آرایه خواهد بود با این تفاوت که

عدد index آرایه همان موقعیت شروع کلمه در متن می باشد .

var_dump(str_word_count($str, 2));
/*
array (size=13)
  0 => string 'hello' (length=5)
  6 => string 'every' (length=5)
  12 => string 'body' (length=4)
  17 => string 'welcome' (length=7)
  25 => string 'to' (length=2)
  28 => string 'rapidcode' (length=9)
  38 => string 'ir' (length=2)
  41 => string 'let's' (length=5)
  47 => string 'write' (length=5)
  53 => string 'se' (length=2)
  56 => string 'en' (length=2)
  59 => string 'line' (length=4)
  64 => string 'code' (length=4)

*/


ورودی سوم str_word_count

اگر دقت کرده باشید در اولین مثال بالا rapidcode.ir را به عنوان 2 کلمه در نظر گرفت در حالی که باید 1 کلمه در نظر می گرفت

به این دلیل که کاراکتر . را به عنوان یک کاراکتری که به عنوان سازنده یک کلمه باشد در نظر نمی گیرد

کلمه se7en هم از این مورد پیروی می کند .

برای حل این مشکل می توانیم در ورودی سوم 7. اضافه کنیم


. برای rapidcode.ir
7 برای se7en

مثل کد :

str_word_count($str, 1, '.7');
/*

array (size=11)
  0 => string 'hello' (length=5)
  1 => string 'every' (length=5)
  2 => string 'body' (length=4)
  3 => string 'welcome' (length=7)
  4 => string 'to' (length=2)
  5 => string 'rapidcode.ir' (length=12)
  6 => string 'let's' (length=5)
  7 => string 'write' (length=5)
  8 => string 'se7en' (length=5)
  9 => string 'line' (length=4)
  10 => string 'code' (length=4)

*/


رفع مشکل شمارش تعداد کلمات در پارسی

اگر کد پایین را اجرا کنید عدد صفر را دریافت می کنید .

$str = "رپید کد کتابخانه مجازی برنامه نویسان";

echo str_word_count($str , 0); // 0


برای حل این مشکل می توانیم از ورودی سوم یعنی charlist استفاده کنیم .

$str = "رپید کد کتابخانه مجازی برنامه نویسان";

str_word_count($str , 0 , 'ابپتثجچ‌حخدذرز‌ژس‌شصضطظعغفقکگلمنوهیءآاًهٔه'); // 6

ارسال نظر

جهت استفاده از کد حتما از تگ pre استفاده نمایید .

contact us