Сейчас у меня вот так реализовано
echo '<div>'.substr($row['about'],0, 100).' ...</div>';Эта конструкция режет не то чтоб предложение, сами слова. Ну это понятно почему. Подскажите, мне и по пробелу пойдёт обрезка, не обязательно по точке.
Спустя 13 минут, 26 секунд (28.01.2012 - 11:23) kent666 написал(а):
Если ты хочешь побезать по проелу или точке то тебе надо использовать регулярные выражения!
Спустя 17 минут, 12 секунд (28.01.2012 - 11:40) sergeiss написал(а):
Я бы так сказал... Сначала надо по-любому обрезать до максимально допустимой длины. А затем уже в этой строке искать пробел, точку или любой другой символ (например, "точку с запятой"), самый близкий к концу строки.
Вот уже второе действие можно делать и регулярками, и просто фунциями работы со строками. При этом не забываем рекомендацию из хэлпа ПХП о том, что регулярки требуют немало ресурсов. Поэтому если действие со строкой можно выполнить обычными функциями, то лучше использовать их. Потому что регулярки (функции работы с ними), вроде бы, облегчают работу программера. Но при выполнении они точно также ведут обработку строки, возможно - многократно туда-сюда бегают по строке, ищут, анализируют.
Вот уже второе действие можно делать и регулярками, и просто фунциями работы со строками. При этом не забываем рекомендацию из хэлпа ПХП о том, что регулярки требуют немало ресурсов. Поэтому если действие со строкой можно выполнить обычными функциями, то лучше использовать их. Потому что регулярки (функции работы с ними), вроде бы, облегчают работу программера. Но при выполнении они точно также ведут обработку строки, возможно - многократно туда-сюда бегают по строке, ищут, анализируют.
Спустя 3 часа, 34 минуты, 48 секунд (28.01.2012 - 15:15) Winston написал(а):
$split = explode(' ', $text); // Разбиваем на слова
$descr = array_slice($split, 0, 10); // Выбираем 10 слов
echo $descr;
Спустя 19 минут, 20 секунд (28.01.2012 - 15:35) inpost написал(а):
^(.*\s*){10}
_____________
..Работает - не трогай!