PDA

View Full Version : سوال: شمارش حروف و کلمات یک رشته



webnevisan
جمعه 20 تیر 1393, 18:44 عصر
چطور می شود متن دریافت شده در سمت php را شمرد و فهمید چند کلمه داخل جمله به کار رفته است؟

vahidqara
جمعه 20 تیر 1393, 18:49 عصر
سلام .
با دستور strlen

***BiDaK***
جمعه 20 تیر 1393, 19:39 عصر
str_word_count (http://php.net/manual/en/function.str-word-count.php)

php_programmer021
جمعه 20 تیر 1393, 22:24 عصر
ببین


$world = 'phpprogrammer021';
$count = strlen($world);
echo $count;


خروجیش میشه : 16

MRmoon
جمعه 20 تیر 1393, 22:29 عصر
چطور می شود متن دریافت شده در سمت php را شمرد و فهمید چند کلمه داخل جمله به کار رفته است؟

درود.

دوست عزیز اولن سعی کنید عناوین مناسب برای تاپیکاتون انتخاب کنید.!

دوما بهتره از تابغ mb_strlen استفاده کنید.

اگه از تابه strlen استفاده کنید حروف فارسی رو دو تا میشمره.

محمد.

webnevisan
یک شنبه 22 تیر 1393, 20:52 عصر
دوستان لطفا به سوال بنده دقت فرمایید منظورم اولا این جمله جند حرف دارد و جند کلمه مثلا (من یک دانشجو هستم ) با strlen میشه فهمید 14حرف است ولی نمی دانم چطور می شه فهمید چند کلمه است.

omidabedi
یک شنبه 22 تیر 1393, 22:10 عصر
دوستان لطفا به سوال بنده دقت فرمایید منظورم اولا این جمله جند حرف دارد و جند کلمه مثلا (من یک دانشجو هستم ) با strlen میشه فهمید 14حرف است ولی نمی دانم چطور می شه فهمید چند کلمه است.

اینجوری



<?php $text="salam khubi?"; $text=explode(' ',$text); $count = count($text); echo $count;?>

جواب میشه 2

hamedarian2009
یک شنبه 22 تیر 1393, 22:14 عصر
برای جملات انگلیسی می تونید از تابع str_word_count (http://php.net/manual/en/function.str-word-count.php) که دوستمون در بالا اشاره کردن استفاده کنید اما برای جملات فارسی می تونید از این تابع استفاده کنید :


function mb_str_word_count($string, $format = 0, $charlist = '[]') {
mb_internal_encoding( 'UTF-8');
mb_regex_encoding( 'UTF-8');

$words = mb_split('[^\x{0600}-\x{06FF}]', $string);
switch ($format) {
case 0:
return count($words);
break;
case 1:
case 2:
return $words;
break;
default:
return $words;
break;
}
}


echo mb_str_word_count("من یک دانشجو هستم");

Mohammadsgh
دوشنبه 23 تیر 1393, 11:19 صبح
یعنی mb_strlen نمیشه؟

omidabedi
دوشنبه 23 تیر 1393, 12:47 عصر
یعنی mb_strlen نمیشه؟

این واسه شمارش حروفه
نه برای کلمه

hamidhassas
جمعه 07 شهریور 1393, 13:42 عصر
من یک جمله رو از دیتابیس میخونم میخوام کاری کنم که از جمله خوانده شده فقط 50 کلمه آن چاپ بشه و بیشتر از اون چاپ نشه

***BiDaK***
جمعه 07 شهریور 1393, 14:06 عصر
سلام.فانکشن مهرداد:

function str_len($str, $len, $text=' ...')
{
$txt = null;
$contents = explode(' ',$str);
$num = count($contents);
if ($len !== 0)
{
for ($i=0; $i<min($len,$num); $i++)
{
$txt .= $contents[$i].' ';
}
return ($num>$len)?$txt.$text:$txt;
}
}

parnian~parnian
جمعه 05 دی 1393, 13:37 عصر
سلام بچه ها

من از همه ی توابع بالا برای شمارش فارسی و انگلیسی استفاده می کنم ولی همیشه اشتباه می شمره ................... من یه فایل doc , docs,str , txt و ..... رو باید به رشته تبدیل کنم بعدش تعداد کلمات رو بشمرم ولی متاسفانه جواب اشتباه می ده بهم :( میشه راهنماییم کنین؟