Code Duplication    Length = 16-17 lines in 2 locations

src/Stringy.php 2 locations

@@ 679-695 (lines=17) @@
676
   *
677
   * @return Stringy Object with the resulting $str after the insertion
678
   */
679
  public function insert($substring, $index)
680
  {
681
    $stringy = static::create($this->str, $this->encoding);
682
    if ($index > $stringy->length()) {
683
      return $stringy;
684
    }
685
686
    $start = UTF8::substr($stringy->str, 0, $index, $stringy->encoding);
687
    $end = UTF8::substr(
688
        $stringy->str, $index, $stringy->length(),
689
        $stringy->encoding
690
    );
691
692
    $stringy->str = $start . $substring . $end;
693
694
    return $stringy;
695
  }
696
697
  /**
698
   * Returns true if the string contains only alphabetic chars, false
@@ 1797-1812 (lines=16) @@
1794
   *
1795
   * @return Stringy Object with the resulting $str after truncating
1796
   */
1797
  public function truncate($length, $substring = '')
1798
  {
1799
    $stringy = static::create($this->str, $this->encoding);
1800
    if ($length >= $stringy->length()) {
1801
      return $stringy;
1802
    }
1803
1804
    // Need to further trim the string so we can append the substring
1805
    $substringLength = UTF8::strlen($substring, $stringy->encoding);
1806
    $length -= $substringLength;
1807
1808
    $truncated = UTF8::substr($stringy->str, 0, $length, $stringy->encoding);
1809
    $stringy->str = $truncated . $substring;
1810
1811
    return $stringy;
1812
  }
1813
1814
  /**
1815
   * Returns a lowercase and trimmed string separated by underscores.