|
|
26.01.2009, 14:09
|
|
Джоркаефф
Gogalev.ru
Зарегистрирован: 2006-06-19
Сообщений: 24
|
Приветствую!
Помогите, пожалуйста, разобраться и выбрать способ решения такой задачи:
1. Есть раздел со списком статей. У каждой статьи есть заголовок(строка), анонс (текст - HTML) и т.д.
2. на титуле надо вывести один объект из этого компонента в формате заголовок + обрезанный анонс по фиксированному количеству символов. Анонс необходимо предварительно перевести из HTML в текст. Если сть варианты, при которых HTML можно НЕ переводить предварительно в текст, то вообще замечательно...
Как решить эту задачу?
заранее признателен.
Жизнь проще, чем кажется.
|
|
|
28.01.2009, 13:40
|
|
Гость
Гость
|
обрезать то на определенном колличестве легко (напрмиер 150 символов)
".substr($f_Message,0,150)."
|
|
|
28.01.2009, 13:57
|
|
Джоркаефф
Gogalev.ru
Зарегистрирован: 2006-06-19
Сообщений: 24
|
Gость писал(а):обрезать то на определенном колличестве легко (напрмиер 150 символов)
".substr($f_Message,0,150)."
Все оказалось настолько просто, что мне даже стало стыдно
Сработало...
Спасибо
Жизнь проще, чем кажется.
|
|
|
28.01.2009, 20:11
|
|
den
Зарегистрирован: 2005-10-28
Сообщений: 33
|
если установлен модуль поиска - то можно пользоваться функцией cuttext($text, $numchar) (текст и количество символов соответственно), она переводит html в текст, ищет $numchar символов, доходит до конца слова (чтоб посреди не резать), и добавляет многоточие. Т.е. символов получается не ровно $numchar, но зато выглядит более привлекательно.
|
|
|
28.01.2009, 23:13
|
|
Джоркаефф
Gogalev.ru
Зарегистрирован: 2006-06-19
Сообщений: 24
|
Не, этом проекте поиска нет, но за подсказку - спасибо. Приму к сведению!
Жизнь проще, чем кажется.
|
|
|
29.01.2009, 00:40
|
|
DiGGy
DiGGy
Зарегистрирован: 2005-04-04
Сообщений: 1546
|
В mySQL есть функция SUBSTRING_INDEX(str,delim,count). Допустим у вас в компоненте есть поле Text, которое надо обрезать по первым 20 словам, то делается все очень просто:
В системные настройки компонента пишите:
Код:
$query_select = "SUBSTRING_INDEX(a.Text,' ',20) as ShortText";
$result_vars = "$f_ShortText";
теперь в переменной $f_ShortText доступен требуемый результат.
Temet nosce...
|
|
|
29.01.2009, 00:45
|
|
Джоркаефф
Gogalev.ru
Зарегистрирован: 2006-06-19
Сообщений: 24
|
Я смотрю, у меня сегодня просто праздник какой-то
Спасибо всем оргомное
Жизнь проще, чем кажется.
|
|
|
29.01.2009, 00:57
|
|
Гость
Гость
|
В последнее время на форуме больше конструктивных ответов
|
|
|
12.01.2012, 13:44
|
|
Гость
Гость
|
Цитата:В mySQL есть функция SUBSTRING_INDEX(str,delim,count).
Допустим у вас в компоненте есть поле Text, которое надо обрезать по первым 20 словам, то делается все очень просто:
В системные настройки компонента пишите:
Код:
$query_select = "SUBSTRING_INDEX(a.Text,' ',20) as ShortText";
$result_vars = "$f_ShortText";
теперь в переменной $f_ShortText доступен требуемый результат.
Почему то не хочет работать никак
версия 4.6 стндарт
|
|
|
12.01.2012, 15:59
|
|
Denis
Зарегистрирован: 2008-07-15
Сообщений: 666
|
Попробуйте написать
Код:$result_vars = '$f_ShortText';
а не
Код:$result_vars = "$f_ShortText";
|
|
|
13.01.2012, 10:28
|
|
Гость
Гость
|
Вырезать при запросе к базе помоему может быть накладно при выборке, проще поле создать и туда складывать
|