preg_split - под виндами одно, на хосте другое

rashn

Новичок
preg_split - под виндами одно, на хосте другое

Кто поможет? Вот такая строчка - призывана разбивать переменную на имеющиеся в ней отдельные слова. Под виндами все правильно, а вот на хосте в (FreeBSD) не работает - выдает пустой массив.

$keyWords=(preg_split('/\W/', $text, -1));

Может как нибудь по другому это записать можно?

надо чтобы фраза типо этой:

гарпастум-футбол и,конечно : арбузы(возможно и яблоки) = тыква

разбивалась на:

гарпастум
футбол
и
конечно
арбузы
возможно
яблоки
тыква
 

Gorynych

Посетитель PHP-Клуба
rashn
выставите русскую локаль, потому что на хостинге по-умолчанию русские буквы не попадают в множество \w

Код:
setlocale (LC_ALL, array ('ru_RU.CP1251', 'rus_RUS.1251'));
$text = "гарпастум-футбол и,конечно : арбузы(возможно и яблоки) = тыква";
$keyWords=(preg_split('/\W/', $text, -1));
print_r($keyWords);
-~{}~ 22.09.06 11:40:

P.S.

мне тут подумалось, что лучше сплитить так:

$keyWords=(preg_split('/\W+(\w{1,2}\W+)?/', $text, -1));

- смысл в игнорировании одно-, двухбуквенных слов (предлоги, союзы и т.п. С трехбуквенными посложнее: с одной стороны "или" это союз, с другой "мёд" - существительное)
 
Сверху