Умное обрезание строк в php с сохранением слов

Удобно если надо обрезать сохранив последнее слово, но так чтобы не превысить количество символов. Для корректной работы с многобайтными кодировками в PHP.

  function cut_paragraph($string, $your_desired_width)
  {
  	mb_internal_encoding("UTF-8");
  	$string = mb_substr($string, 0, $your_desired_width+1);
  
  	if (mb_strlen($string) > $your_desired_width)
  	{
  		$string = wordwrap($string, $your_desired_width);
  		$i = mb_strpos($string, "\n");
  		if ($i) {
  			$string = mb_substr($string, 0, $i);
  		}
  	}
  	return $string;
  }