Программирование > Регулярные выражения

Регулярное выражение (выделить первые три слова)

(1/1)

alexlist:
Сильная штука регулярные выражения.
Научится бы ими ещё талантливо пользоватся.

Есть задача.
Написать функцию
Функция думаю должна быть предположительно на регулярных выражениях.
Но ето не столь важно. В данном вопрос главное скорость.
Так как функция за раздолжна обрабатывать туеву хучу строк взятых из базы.

Задача такая:
- Из каждой строки(строка не длинее 255 символов)
взять первые три слова  не короче N-ого количества символов, сразу отметая слова исключения.

- Перед изъятием слов очистить строку от Любых символов, не образующий "слово"(включая знак подчеркивания)

- Привести это дело к нижнему регистру и записать слова через запятую


Путем долгих ковыряний был написан собсвенный код.
НО какой то он не правильный.
Что то мне подсказывает что ето можно сделать проще и оптимальней.


function GetWords($text,$N){
$text=strtolower (preg_replace("[\\-]","_",$text));
$text=strtolower (preg_replace("[\\W]"," ",$text));
$text=preg_replace("[\\s+]", "  "," $text ");
$text=preg_replace("(\\s((\\S{1,$N})|or|and|of|com|tm|ltd|inc|the|net)\\s)", " ",$text );
$text=preg_replace("([\\s\\_]+)", ",",trim($text));
return $text;
}

for_i_0:
[OFF]переносено в соответсвующий форум[/OFF]

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии