Озадачился я как то на php вырезанием части строки из русского текста в кодировке utf-8, но так чтобы слова не обрезались. Просто так это сделать не получиться: русские буквы занимают два символа, а остальные по одному. Идея проста - найти первый разделитель слов, а такими разделителями являются пробелы, точки, запятые, переносы строк. В результате вызов функции выглядит сейчас следующим образом:
$Text = CutStr($Text, " ,.;nr",140);
а вот сам отлаженный исходник этой функции, написанный мной лично:

function CutStr($S, $Chars, $FromPos = 0) {
if (strlen($S) <= $FromPos) return $S;
$p = 0;
for ($i = 0; $i < strlen($Chars); $i++) {
$pos = strpos($S, $Chars[$i], $FromPos);
if (is_int($pos)) {
$p = $i == 0 ? $pos : min($p, $pos);
}
}
return substr($S, 0, max($p, $FromPos) );
}

Мой блог находят по следующим фразам
Listview
СКАЧАТЬ БЕСПЛАТНО ПРОГРАММУ МАКРОС
импорт базы в phpMyAdmin
синонимайзер бесплатно
t.sonic 610 прошивка
плагин рейтингов постов для wordpress