n0lik 75 Опубликовано: 7 ноября 2009 Рассказать Опубликовано: 7 ноября 2009 Всем привет. Подскажите как мне ограничить вывод символов в краткой новости. То есть, пользователи заполняют поле "краткая новость" (поле полной новости я вообще убрал из формы, а то есть такие, которых это поле почему то вводит в заблуждение) и их текст содержит 5к символов, и я хочу что бы при выводе краткой новости были видны только 1к символов. Где-то видел на форуме, если конечно на этом форуме, но поиск результатов не дал. Цитата Ссылка на сообщение Поделиться на других сайтах
kpravda 102 Опубликовано: 7 ноября 2009 Рассказать Опубликовано: 7 ноября 2009 Вот как-то так, мне лень сейчас идти в базу и файлы движка, может сами сделаете echo substr($row["sth"],0,1000) 1 Цитата Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 7 ноября 2009 Рассказать Опубликовано: 7 ноября 2009 (изменено) Думаю надо сделать так: В файле show.short.php найти строку: $tpl->set( '{short-story}', $row['short_story'] ); и сделать её так: $tpl->set( '{short-story}', substr($row['short_story'], 0, 1000)); И тогда тег {short-story} будет выводить 1000 символов + несколько символов перед и после новости, а именно: $tpl->set( '{short-story}', stripslashes( "<div id='news-id-" . $row['id'] . "'>" . $row['short_story'] . "</div>" ) ); Но они не будут выводиться в браузере при просмотре ****************** А вообще не понимаю зачем в файле show.short.php два раза: 1) $tpl->set( '{short-story}', $row['short_story'] ); и 2) $tpl->set( '{short-story}', stripslashes( "<div id='news-id-" . $row['id'] . "'>" . $row['short_story'] . "</div>" ) ); Ведь можно оставить только второе ****************** Изменено 7 ноября 2009 пользователем WWW.ZEOS.IN 1 Цитата Ссылка на сообщение Поделиться на других сайтах
spam 11 Опубликовано: 7 ноября 2009 Рассказать Опубликовано: 7 ноября 2009 (изменено) найти $tpl->set( '{short-story}', stripslashes( "<div id='news-id-" . $row['id'] . "'>" . $row['short_story'] . "</div>" ) ); выше вставить $short_temp = strip_tags($row['short_story']); if (strlen($short_temp) > 1000) { $row['short_story'] = substr ($row['short_story'], 0, 1000); if (($temp_max = strrpos($row['short_story'], ' '))) $row['short_story'] = substr ($row['short_story'], 0, $temp_max); $row['short_story'] = stripslashes($row['short_story'])." ..."; } $short_temp = ""; Изменено 7 ноября 2009 пользователем spam 1 Цитата Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 7 ноября 2009 Рассказать Опубликовано: 7 ноября 2009 (изменено) У меня решение неправильное У spam именно то, что надо Изменено 7 ноября 2009 пользователем WWW.ZEOS.IN Цитата Ссылка на сообщение Поделиться на других сайтах
spam 11 Опубликовано: 7 ноября 2009 Рассказать Опубликовано: 7 ноября 2009 У меня решение не правильное У spam именно то, что надо Твое тоже рабочее, только мое лучше тем что уберет "изуродованое" обрезкой слово. Цитата Ссылка на сообщение Поделиться на других сайтах
n0lik 75 Опубликовано: 8 ноября 2009 Рассказать Опубликовано: 8 ноября 2009 Автор Спасибо огромное всем. Цитата Ссылка на сообщение Поделиться на других сайтах
Sokali 7 Опубликовано: 17 апреля 2011 Рассказать Опубликовано: 17 апреля 2011 Может, кто поможет. Ситуация следующая, можно ли организовать ограниченние вывода символов на вывод короткой новости согласно их категории? Объясню ситауцию, к примеру, на главной странице сайта, представлено несколько новостных блоков(Новости кино, Новости музыки, Новости игр и т.п.), блоки имеют разные размеры, т.е. для одного блока ограничение должно быть в 250 символом, для другого в 150, для третьего в 500 и т.д.Новости выводятся через {custom category="2" template="custom" aviable="global" from="0" limit="1" cache="yes"} Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.