substr($text,0,300) режет картинки , дивы и пр ересь была недавно тема с подобным вопросом , немогу найти :< думаю выход - резать до пробела , хелпа как предполагаю вариант после 300 символов резать в новую переменную циклом до пробела...но поадекватней что-нибудь есть ?
ну... сначала $a = explode(' ',$text); затем array_pop($a); затем implode(' ',$a); Но думаю лучше циклом до пробела
а не пробел тогда режет <img src например =( PHP: $a = explode(' ',$text); array_pop($a); implode(' ',$a); ххмм , чтото я пример не совсем осилил разбиваем текст на массив по пробелу , удаляем последнее слово из текста , добавляем пробелы обратно в массив и что это даст ? ) да и оно разобьёт тот же <img src на 2 массива , а проверять например в in_array все хтмл теги как-то неочень
siiXth резать можно двумя способами =) до пробела и после ты эта... ты если хочешь чтобы строка вышла не больше трехсот, то ты просто найди ближайший пробел и реж по этой позиции. (только проверь тристапервый символ. вдруг он и есть пробел! =))
я выше написал что по пробелу выйдет бред т.к хтмл код разрежется который берётся из $text и порежет пополам картинки , дивы , таблицы и т.д
siiXth как идея 1. пропарсить регуляркой выражение и заменить все пробелы внутри тегов на букву Ё (или любой другой редковстречающийся символ) 2. порезать строку используя пробелы 3. вернуть обратно пробелы внутри тегов ах, да, тебе нужно считать только видимый текст? если да, то текст внутри тегов (как и сами теги) нельзя считать за символы.