Подскажите по регулярке

Soeti
На сайте с 22.02.2009
Offline
41
469

Нужно разбить строку по словам, а также по знакам препинания.

Array ( [0] => маша [1] => мыла [2] => раму [3]=>, )

Чтобы результат был таким.

По словам разбиваю, а вот выделить препинания в отдельную ячейку не получается.

Еще проблема в том, что у меня регулярка не хочет работать с русскими, если прописываю

#\w#u

#[а-я]#u

Просто их перестает отображать

Приходится через:

(.+?)!(спецсимволы, которые мне не нужны)

Локаль прописана

кодировка utf везде.

видится логика как-то так

#(.+?)!\,|\,\s#

И если бы нормально работали русские, то:

#[а-я]|\,#

В общем, помогите, а то забороть сам не могу((

[Удален]
#1
#\w#u
#[а-я]#u
#\w+#u
#[а-я]+#u

ай ай ай! плюсики забыл!

bearman добавил 29.07.2009 в 00:05

#\w#u
#[а-я]#u
#\w+#u
#[а-я]+#u

ай ай ай! плюсики забыл!

Soeti
На сайте с 22.02.2009
Offline
41
#2

Так как сделать, чтоб было:

Array ( [0] => маша [1] => мыла [2] => раму [3]=>, )

Подскажите

aleksey_php
На сайте с 17.03.2008
Offline
53
#3

Подсказываем:

$string = 'Мама мыла раму, а папа мыл! кое-что другое.';

$pattern = '/[а-я]+|[,\.\?!]+/i';
preg_match_all($pattern, $string, $matches);
echo '<pre>';
var_dump($matches);
FeoOne
На сайте с 27.12.2008
Offline
32
#4

удалено

_______

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий