Skip to content

Commit 891bcb4

Browse files
committed
new: add new string split method
1 parent 988240a commit 891bcb4

File tree

1 file changed

+27
-7
lines changed

1 file changed

+27
-7
lines changed

src/Str/Traits/StringConvertTrait.php

+27-7
Original file line numberDiff line numberDiff line change
@@ -130,29 +130,49 @@ public static function explode(string $str, string $separator = '.', int $limit
130130
}
131131

132132
/**
133-
* @param string $string
133+
* @param string $str
134134
* @param string $delimiter
135135
* @param int $limit
136136
*
137137
* @return array
138138
*/
139-
public static function split2Array(string $string, string $delimiter = ',', int $limit = 0): array
139+
public static function split2Array(string $str, string $delimiter = ',', int $limit = 0): array
140140
{
141-
$string = trim($string, "$delimiter ");
141+
$str = trim($str, "$delimiter ");
142142

143-
if (!strpos($string, $delimiter)) {
144-
return [$string];
143+
if (!strpos($str, $delimiter)) {
144+
return [$str];
145145
}
146146

147147
if ($limit < 1) {
148-
$list = explode($delimiter, $string);
148+
$list = explode($delimiter, $str);
149149
} else {
150-
$list = explode($delimiter, $string, $limit);
150+
$list = explode($delimiter, $str, $limit);
151151
}
152152

153153
return array_values(array_filter(array_map('trim', $list), 'strlen'));
154154
}
155155

156+
/**
157+
* @param string $str
158+
* @param string $delimiter
159+
* @param int $limit
160+
*
161+
* @return array
162+
*/
163+
public static function splitTrimmed(string $str, string $delimiter = ',', int $limit = 0): array
164+
{
165+
$str = trim($str, "$delimiter ");
166+
167+
if (!strpos($str, $delimiter)) {
168+
return [$str];
169+
}
170+
171+
$list = $limit > 1 ? explode($delimiter, $str, $limit) : explode($delimiter, $str);
172+
173+
return array_map('trim', $list);
174+
}
175+
156176
/**
157177
* @param string $string
158178
* @param int $width

0 commit comments

Comments
 (0)