title: mb_strpos(): Offset not contained in string
body: <p>I found this function to create an excerpt for long text. I use this method to manage also accents like è é à ò ì ù ....</p>
  
  <pre><code>function excerpt($string, $lenght = 50, $popover = false, $ellipsed = false) {
  
      if ( $ellipsed ) {
  
        $ellipse = "...";
  
        if ( $popover )
          $ellipse = '&lt;span title="More info" data-toggle="popover" data-trigger="hover" data-content="' . $string . '"&gt;...&lt;/span&gt;';
  
      } else {
          $ellipse = "";
      }
  
      $boundaryPos = mb_strrpos(mb_substr($string, 0, mb_strpos($string, ' ', $lenght)), ' ');
  
      return mb_substr($string, 0, $boundaryPos === false ? $lenght : $boundaryPos) . $ellipse;
  
  }
  </code></pre>
  
  <p>Some tests:</p>
  
  <pre><code>echo excerpt("Il treno è partito", 11);
  //RETURN Il treno è
  
  echo excerpt("Il treno è partito", 15);
  //RETURN Il treno è part
  
  echo excerpt("Il treno è partito", 20);
  //RETURN WARNING mb_strpos(): Offset not contained in string
  </code></pre>
  
  <p>How can I fix error for the last test?</p>