У меня есть строка, как этот Hello? My name is Ben! @ My age is 32.
Как изменить пункт в массив в PHP включая пробелы и точечностью
Я хочу, чтобы изменить его в массив со всеми словами, пробелы и знаки препинания как отдельные объекты в массив. Например, если я var_dump($sentence)
массив должен выглядеть следующим образом:
array(12) {
[0]=>
string(5) "Hello"
[1]=>
string(1) "?"
[2]=>
string(1) " "
[3]=>
string(2) "My"
[4]=>
string(1) " "
[5]=>
string(4) "name"
[6]=>
string(1) " "
[7]=>
string(2) "is"
[8]=>
string(1) " "
[9]=>
string(3) "Ben"
[10]=>
string(1) "!"
[11]=>
string(1) " "
[12]=>
string(1) "@"
и т.д ...
Единственный код, который я нашел, который подходит близко к этому является:
$sentence = preg_split("/(?<=\w)\b\s*/", 'Hello? My name is Ben! @ My age is 32.');
echo '<pre>';
var_dump($sentence);
echo '</pre>';
который выходы:
array(10) {
[0]=>
string(5) "Hello"
[1]=>
string(4) ". My"
[2]=>
string(4) "name"
[3]=>
string(2) "is"
[4]=>
string(3) "Ben"
[5]=>
string(6) "! @ My"
[6]=>
string(3) "age"
[7]=>
string(2) "is"
[8]=>
string(2) "32"
[9]=>
string(1) "."
}
Как изменить это, чтобы пробелы и пунктуации были разделены в массиве ?
Включить границу слова в группе захвата? –