preg_match_all проблем с кирилица

baceto90

Registered
Код:
$keywords = "проба some дума word";
preg_match_all('~\w+~', $keywords, $m);
print_r(m);
Кодът по-горе извежда резултата:
Array ( [0] => Array ( [0] => some [1] => word ) )
Опитвам се да изведа в масив всичките думи, но явно има проблем с кирилицата. След това пробвах и по този начин,
Код:
preg_match_all('/^[a-zA-Z\p{Cyrillic}0-9\s\-]+$/u', $words, $m);
но тук връща масив с 1 елемент съдъращ целия стринг...
Array ( [0] => Array ( [0] => проба some дума word ) )
Някакви идеи ?
 
ти си страшно близо до решението, трябвало е да още при първя опит в pattern да укажеш, че става дума за unicode текст, ако въобще става въпрос за utf8 encoded string

PHP:
$keywords = "проба some дума word";
preg_match_all('~\w+~u', $keywords, $m);
print_r($m);

Array
(
    [0] => Array
        (
            [0] => проба
            [1] => some
            [2] => дума
            [3] => word
        )

)
 

Back
Горе