Как разбить строку на составные части в php?

Как разбить строку [Это самая лучшая строка] на массив: Это, самая, лучшая строка. Но если я изменю строку на [Это "самая лучшая" строка], то получу массив: Это, "самая, лучшая", строка. А мне нужно: Это, самая лучшая, строка. Извеняюсь, так как задаю вопрос на плафторме первый раз и не знаю как правильно сформулировать мысль.


Ответы (1 шт):

Автор решения: Эдуард

В таких случаях подходит использование preg_split() и регулярных выражений. Нужно составить шаблон, который будет учитывать не только пробелы, а и знаки пунктуации, и получите желаемый результат:

$str = 'Это "самая лучшая" строка';

$words = preg_split('~[\h\pP]+~u', $str);

var_dump($words);

Демо

→ Ссылка