Разобрать строчку
Есть строчки
Пых Пых1 Пых2
Пых Пых1 Пых2 Пых
Пых Пых1 Пых2
На выходе необходимо получить ['Пых', 'Пых1', 'Пых2'] либо ['Пых', 'Пых1', 'Пых2', 'Пых']
То есть чтобы не было пробелов, создать массив из слов ориентируясь по пробелам. Количество пробелов может быть разное, между словами. Что в начале, что в конце, что между словами.
Ответы (1 шт):
Автор решения: Emmanyel Chasovskih
→ Ссылка
Однажды писал токенизаторы, вот пригодилась whitespace
function tokenize(string $text):array
{
$substrings = preg_split('/[\pZ\pC]+/u', $text, -1, PREG_SPLIT_NO_EMPTY);
if ($substrings === false) {
throw new \Exception('preg_split failed on: ' . $text);
}
return $substrings;
}
Например, tokenize(" Пых Пых1 Пых2 Пых ")
вернет
array(4) {
[0]=>
string(6) "Пых"
[1]=>
string(7) "Пых1"
[2]=>
string(7) "Пых2"
[3]=>
string(6) "Пых"
}