- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Приветствую.
Имеется плагин выводящий последние комментарии к материалам.
Выводятся этой частью кода:
Бывает, что комментарий огромный, а виду того, что выводится это дело в вертикальном модуле, сильно портит внешний вид страницы.
Можно конечно задать фиксированный размер дива, и спрятать не помещающийся в него текст, но ведь это лишний вес, да и вероятно ПС не обрадуются такому варианту.
Есть ли простой метод обрезки текста средствами php, с учетом того, что это выводит комментарий:
<?php echo CStringHelper::escape($comment->comment); ?>
http://htmlweb.ru/php/php_string.php
если хотите просто обрезать строку до нужной длины, то
$b = substr($a, 0, 300);
где $a комментарий в начальном ввиде, 300 - длина комментария, до которой нужно обрезать, $b - обрезанная строка
Но в этом случае комментарий может обрезаться на каком либо слове, что будет выглядеть не совсем красиво. Можно, например, уже обрезанную строку $b обрезать до последнего пробела:
$d=1;
$i=strlen($b);;
while (($d==1)and($i!=0))
{
if ($b[$i]==" ")
{
$d=0;
$b = substr($b, 0, $i);
}
$i=$i-1;
}
Как это применить на конкретном коде, который я показал в начале темы?
То есть, выводится комментарий так <?php echo CStringHelper::escape($comment->comment); ?>
Что нужно добавить?
Переменной $a присвойте то, что вы выводите. Прогоните через код, который я написал и выводите переменную $b
Только я не знаю что у вас с кодировками, но вроде должно работать
Пример, для кодировки UTF-8. Для другой кодировки можно поменять указание для модуля mb_string. Текст не будет обрезан на середине слова.