Ниже приведена функция в php, которая принимает любую строку (строка также будет содержать html-теги) и возвращает всего несколько слов из того, что указано в переменной $ min.
function gen_string($string,$min=500,$clean=true) {
$text = trim(strip_tags($string));
if(strlen($text)>$min) {
$blank = strpos($text,' ');
if($blank) {
# limit plus last word
$extra = strpos(substr($text,$min),' ');
$max = $min+$extra;
$r = substr($text,0,$max);
$query = "select distinct ID from cms_content";
$result = mysql_query($query);
$IDlink = 'http://localhost/www/index.php?ID='.$result;
if(strlen($text)>=$max && !$clean) $r=trim($r,'.') ;
} else {
# if there are no spaces
$r = substr($text,0,$min).'.........';
}
} else {
# if original length is lower than limit
$r = $text;
}
return trim($r);
}
Но проблема в том, что в возвращаемой строке он не читает теги html.
Итак, как заставить эту функцию читать теги html, чтобы возвращаемая строка была в отформатированных тегах html?