|
@@ 741-757 (lines=17) @@
|
| 738 |
|
* |
| 739 |
|
* @return Stringy Object with the resulting $str after the insertion |
| 740 |
|
*/ |
| 741 |
|
public function insert($substring, $index) |
| 742 |
|
{ |
| 743 |
|
$stringy = static::create($this->str, $this->encoding); |
| 744 |
|
if ($index > $stringy->length()) { |
| 745 |
|
return $stringy; |
| 746 |
|
} |
| 747 |
|
|
| 748 |
|
$start = UTF8::substr($stringy->str, 0, $index, $stringy->encoding); |
| 749 |
|
$end = UTF8::substr( |
| 750 |
|
$stringy->str, $index, $stringy->length(), |
| 751 |
|
$stringy->encoding |
| 752 |
|
); |
| 753 |
|
|
| 754 |
|
$stringy->str = $start . $substring . $end; |
| 755 |
|
|
| 756 |
|
return $stringy; |
| 757 |
|
} |
| 758 |
|
|
| 759 |
|
/** |
| 760 |
|
* Returns true if the string contains only alphabetic chars, false |
|
@@ 1883-1898 (lines=16) @@
|
| 1880 |
|
* |
| 1881 |
|
* @return Stringy Object with the resulting $str after truncating |
| 1882 |
|
*/ |
| 1883 |
|
public function truncate($length, $substring = '') |
| 1884 |
|
{ |
| 1885 |
|
$stringy = static::create($this->str, $this->encoding); |
| 1886 |
|
if ($length >= $stringy->length()) { |
| 1887 |
|
return $stringy; |
| 1888 |
|
} |
| 1889 |
|
|
| 1890 |
|
// Need to further trim the string so we can append the substring |
| 1891 |
|
$substringLength = UTF8::strlen($substring, $stringy->encoding); |
| 1892 |
|
$length -= $substringLength; |
| 1893 |
|
|
| 1894 |
|
$truncated = UTF8::substr($stringy->str, 0, $length, $stringy->encoding); |
| 1895 |
|
$stringy->str = $truncated . $substring; |
| 1896 |
|
|
| 1897 |
|
return $stringy; |
| 1898 |
|
} |
| 1899 |
|
|
| 1900 |
|
/** |
| 1901 |
|
* Returns a lowercase and trimmed string separated by underscores. |