Forum Webscript.Ru
Программирование => PHP => Тема начата: RelaX от 11 Июля 2002, 10:13:13
-
есть текст в переменной $text (длина текста более 800 символов) и нужно вывести первые 300 символов (или чуть меньше без обрезания слова на половине).
функция $text=substr ("$text", 0, 300); не подходит, т.к. она может обрезать слово на половине.
-
возможно:
эксплодишь текст в массив через пробелы.
циклом начинаешь добавлять слова и следишь за длиной новой строки. если она превышает 300 символов не добавляешь последнее слово и прекращаешь цикл.
-
$string=explode(" ",$news);
$j=0;
while (strlen($text) <=300)
{
$text.=$string[$j] . \' \';
$j++;
};
print $text;
unset($text);
unset($news);
-
$text=substr ("$text", 0,strpos ($text, " ", 300));