function phph_str_cut($str,$length='700',$end='',$sep='.')
{
/*
ОПИСАНИЕ:
Фнкция которая очищает текст от html тегов и обрезает если он длиннее чем задано, первый парметр - текст, второй - длинна в символах, третий - окончание текста например точка или многоточие, четвертый - по какому символу режем текст, т.е. режем не по середине слова а по пробелу или точке.
ПРИМЕР ВЫЗОВА: в "Объекте в списке" Компонента:
";
$f_anonce = phph_str_cut($f_anonce,200,'...',' '); // перезаписывает значение поле укороченным до 200 символов
$result.= "
*/
$str = strip_tags($str);
$lenght1=strlen($str);
if ($lenght1>=$length)
{
if ($sep=='.'){
$length2 = strripos(substr($str, 0, $length), ".");
if ($length2=='')$length2 = strripos(substr($str, 0, $length), "!");
if ($length2=='')$length2 = strripos(substr($str, 0, $length), "?");
if ($length2=='')$length2 = strripos(substr($str, 0, $length), ",");
}
if ($length2=='')$length2 = strripos(substr($str, 0, $length), " ");
$cutstr .= substr($str, 0, $length2+1).$end;
}
else
{
$cutstr = $str;
}
return $cutstr;
}
Finar.ru

