Advertisement
Guest User

UTF-8 character_limiter

a guest
May 19th, 2014
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.60 KB | None | 0 0
  1. if ( ! function_exists('character_limiter'))
  2. {
  3.     function character_limiter($str, $n = 500, $end_char = '…')
  4.     {
  5.         if (mb_strlen($str, "UTF-8") < $n)
  6.         {
  7.             return $str;
  8.         }
  9.  
  10.         $str = preg_replace("/\s+/u", ' ', str_replace(array("\r\n", "\r", "\n"), ' ', $str));
  11.  
  12.         if (mb_strlen($str, "UTF-8") <= $n)
  13.         {
  14.             return $str;
  15.         }
  16.  
  17.         $out = "";
  18.         foreach (explode(' ', trim($str)) as $val)
  19.         {
  20.             $out .= $val.' ';
  21.  
  22.             if (mb_strlen($out, "UTF-8") >= $n)
  23.             {
  24.                 $out = trim($out);
  25.                 return (mb_strlen($out, "UTF-8") == mb_strlen($str, "UTF-8")) ? $out : $out.$end_char;
  26.             }
  27.         }
  28.     }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement