Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Ограничить длину текста в описании раздела

00 голосов
6
Здравствуйте, помогите разобраться пожалуйста, в шаблоне компонента catalog.setion.list мне необходимо вывести описание раздела, использую для этого поле - $arSection["DESCRIPTION".

Пытаюсь ограничить длину описания следующим кодом:
Код
 <?if (strlen($arSection["DESCRIPTION"] > 200))

      echo mb_substr($arSection["DESCRIPTION"] , 0, 200 );

             else   

    echo $arSection["DESCRIPTION"];

 ?>
С функцией mbstring все ок. Но длина описания не ограничивается, выводится весь текст описания. Что я делаю не так?
спросил 16 Окт, 13 от MAECTPO (120 баллов)

6 Ответы

00 голосов
Кеш сбрасывали?
А так:
Код
 echo TruncateText($arSection["DESCRIPTION"], 200);
ответил 06 Ноя, 13 от NitroGeN (2,840 баллов)
00 голосов
Спасибо огромное, Евгений

echo TruncateText($arSection["DESCRIPTION"], 200);
помогло
ответил 13 Фев, 14 от MAECTPO (120 баллов)
00 голосов
Помогите пожалуйста, почему  может появляться знак � в последнем слове?
На одном из форумов нашла комментарий, что функция TruncateText обрезает строку только под win-1251, а как сделать для кодировки utf-8?
ответил 03 Июнь, 14 от MAECTPO (120 баллов)
00 голосов
http://dev.1c-bitrix.ru/community/forums/messages/forum6/topic38142/message208643/?sphrase_id=1036964#message208643
Цитата
если все правильно настроено (mbstring.func_overload=2), то все должно работать нормально.
http://www.php.net/manual/en/mbstring.overload.php
ответил 30 Сен, 14 от NitroGeN (2,840 баллов)
00 голосов
С функцией mbstring все нормально.
Код
<?=( mb_strlen( $string ) > $need_lenght ) ? mb_substt( $string, $start_pos, $lenght )." ..." : $string?>
вывожу так:
Код
<?=( mb_strlen( $string ) > $need_lenght ) ? 
mb_substt($arSection["DESCRIPTION"], 0, 200 )." ..." : 
$arSection["DESCRIPTION"]?>
Ничего не ограничивается, возможно я неправильно правлю код, подскажите пожалуйста.
ответил 02 Фев, 15 от MAECTPO (120 баллов)
00 голосов
а так?
<?=mb_substr($arSection["DESCRIPTION"], 0, 200 )?>
ответил 16 Май, 15 от NitroGeN (2,840 баллов)

Похожие вопросы

0 голосов
2 ответов
0 голосов
3 ответов
спросил 01 Апр, 14 от Niferiys (220 баллов)
0 голосов
5 ответов
спросил 09 Дек, 13 от Kiriel (2,010 баллов)
0 голосов
6 ответов