Слушайте, а почему надо так извращаться, почему регулярным выражением не обрезать скажем сразу "30
слов", или "200 символов, но по границе слова"?
Например:
PHP код:
/* 6 СЛОВ отрезается от текста */
$text = 'Хочешь доказать, что ты заводная девчонка? Тогда бешеная гонка по лабиринту - это то, что тебе нужно. На пути попадутся монстры, но врзывные девчонки не боятся опасностей, ведь у них в кармане динамит! Помни, при взрыве монстры могут задеть и тебя. Будь осторожна!';
setlocale(LC_ALL,'ru_RU.cp1251');
preg_match ('#(?:\b.+?(?>\s)){0,6}#', $text, $matches);
//$matches[0]; - это какраз 6 слов.
/* 25 символов от текста, НО ПО ГРАНИЦЕ СЛОВА */
preg_match ('#.{0,25}.*?\b#', $text, $matches);
//$matches[0]; - снова результат 25 символов + длина не влезшей части слова