PHP – Return first n words from a string

Do you ever find yourself needing to shorten a string in PHP? Maybe return the first 25 words of a long story? Give this routine a try. It will return the first n words from a string, or the entire string if it is less than n words long.

PHP:
  1. function shorten_string($string, $wordsreturned)
  2. /*  Returns the first $wordsreturned out of $string.  If string
  3.     contains more words than $wordsreturned, the entire string
  4.     is returned.
  5.     */
  6.     {
  7.     $retval = $string//    Just in case of a problem
  8.     $array = explode(" ", $string);
  9.     if (count($array)<=$wordsreturned)
  10.     /*  Already short enough, return the whole thing
  11.         */
  12.         {
  13.         $retval = $string;
  14.         }
  15.     else
  16.     /*  Need to chop of some words
  17.         */
  18.         {
  19.         array_splice($array, $wordsreturned);
  20.         $retval = implode(" ", $array)." ...";
  21.         }
  22.     return $retval;
  23.     }

Question, Comments...

Do you have more questions. Please either leave a comment below or join us in our new forum.

Leave a Reply