Jump to content

Word Count Function


mdmartiny

Recommended Posts

I am writing a function to count the words that have been typed into a text box. I originally had it working when I first wrote it but it was counting all of the punctuation as a word so I I tried adding some code to eliminate that. Now it is not working. Could someone help me?

 

Here is my code

function count_words($description){
	 $word_count = 0;
	 $description = trim(preg_replace("/\s+/"," ",$description));
	 $word_array = explode(" ", $description);

	 for($i=0; $i < count($word_array); $i++){
		if (preg_match("[0-9A-Za-z]", $word_array[$i])) {
			$word_count++;
		}
		return $word_count;
	}
  }

Link to comment
https://forums.phpfreaks.com/topic/258196-word-count-function/
Share on other sites

You can use str_word_count, and remove any punctuation first.

 

function count_words($description)
{
// remove punctuation
$punctuation = array('.', ',', '!', '?', ':', ';', '(', ')');	
$description = str_replace($punctuation, '', $description);

return str_word_count($description);
}

 

 

Link to comment
https://forums.phpfreaks.com/topic/258196-word-count-function/#findComment-1323513
Share on other sites

You can use str_word_count, and remove any punctuation first.

 

function count_words($description) {
// remove punctuation
$punctuation = array('.', ',', '!', '?', ':', ';', '(', ')');	
$description = str_replace($punctuation, '', $description);

return str_word_count($description);
}

 

No need to remove the punctuation, str_word_count is intelligent enough to know that punctuation is not a word.

 

echo str_word_count($description);

Link to comment
https://forums.phpfreaks.com/topic/258196-word-count-function/#findComment-1323530
Share on other sites

function count_words($description){

$word_count = 0;

                $punctuation = array('.', ',', '!', '?', ':', ';', '(', ')');

        $description = str_replace($punctuation, '', $description);

$description = trim(preg_replace("/\s+/"," ",$description));

$word_array = explode(" ", $description);

 

for($i=0; $i < count($word_array); $i++){

if (preg_match("[0-9A-Za-z]", $word_array[$i])) {

$word_count++;

}

return $word_count;

}

  }

Link to comment
https://forums.phpfreaks.com/topic/258196-word-count-function/#findComment-1323567
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.