@grenline123123

Вывод информации php?

Мне нужно вывести не более 150 символов, вывожу я переменную php $RowAdvert['description'] - если там более 150 символов нужно поставить троеточии, я уже заколебался, фигню какую-то делаю, может кто-то помочь?)
  • Вопрос задан
  • 126 просмотров
Решения вопроса 3
E1ON
@E1ON
Programming, Gamedev, VR
$out = mb_strlen($in) > 150 ? mb_substr($in, 0, 150)."..." : $in;
Ответ написан
Skiphog
@Skiphog
Crutch developer
Вопрос очень простой.

Но простой он не потому, что реализация простая, а потому, что это наверное один из самых популярных запросов в поисковике на эту тему (возможно :-D)

Вы можете погуглить и получить много решений этой задачи и воспользоваться им, а так же воспользоваться ответом выше, т.к. функции mb_ - это отличный вариант.

Но вы можете не верить никому ))) ... и подсмотреть как это делает какой-нибудь Laravel
https://github.com/laravel/framework/blob/8.x/src/...

Избавившись от привязки к классу, можно взять эту функцию себе на вооружение примерно так:
function limit($value, $limit = 100, $end = '...')
{
    if (mb_strwidth($value, 'UTF-8') <= $limit) {
        return $value;
    }

    return rtrim(mb_strimwidth($value, 0, $limit, '', 'UTF-8')) . $end;
}

И это тоже ответ на ваш вопрос.
А что использовать, решать вам.
Ответ написан
Комментировать
@grenline123123 Автор вопроса
mb_strimwidth($new, 0, 150, "...")
Тоже как вариант
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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