Вот что я реализовал.
function summaryMode($text, $limit, $link) {
if (str_word_count($text, 0) > $limit) {
$numwords = str_word_count($text, 2);
$pos = array_keys($numwords);
$text = substr($text, 0, $pos[$limit]).'... <a href="'.$link.'">Read More</a>';
}
return $text;
}
Как вы можете видеть, это основано на ответе karim79, все, что нужно было изменить, это то, что в операторе if также нужно было проверить слова, а не символы.
Для удобства я также добавил ссылку на основную функцию. Пока это работает безупречно. Благодаря оригинальному поставщику решений.