Как обрезать длинную строку и добавить в конец точки

Как обрезать длинную строку и добавить в конец точки. Введение

Как обрезать длинную строку и добавить в конец точкиВ этой маленькой статейке, приведен простой, но не редко необходимый, пример, который показывает, как обрезать длинную строку и добавить в конец точки с помощью php. Не редко приходится при выводе текста на сайте, ограничивать его длину, поскольку весь текст может сломать верстку. Просто обрезать строку может привести к не очень красивому результату, поэтому по мимо укорачивания текста стоит добавлять в конец три точки, которые свидетельствуют о незаконченности текста. Также можно добавить подсказки — title, которые будут всплывать при наведении на обрезанный текст.
Прежде чем приступим к коду, хочу обратить внимание, что для работы со строками с кириллицей в php, стоит использовать функции с префиксом mb_ — это позволяет задавать кодировку обрабатываемой строке. С таким подходом ваш код будет работать корректней.

Как обрезать длинную строку и добавить в конец точки. Код

Ниже приведен код с подробными комментариями:

// Заголовок, для вывода кириллицы
header("Content-Type: text/html; charset=utf-8");

// тестовая строка
$str = "Строка с очень длинным текстом, который необходимо укоротить!";
// предел вывода текста
$count_max = 15;
// в эту переменную запишем результат
$result_str = "";
// если строка, больше предела + 3(3 точки в конце)
if(mb_strlen($str, 'utf-8') > ($count_max + 3)){
	// обрезаем строку
	$sub_str = mb_substr($str, 0, $count_max, 'utf-8');
	// удаляем пробелы в начале и конце обрезанной строки, и дописываем в конец три точки
	$result_str = trim($sub_str) . "...";
	// добавляем к тексту атрибут title, для вывода подсказки при наведении
	$result_str = "<span title='$str'>$result_str</span>";
}else{
	// если строка и так короткая
	$result_str = $str;
}

// вывод результата
echo $result_str;
Рассказать друзьям:


Оценить:
(2 оценок, среднее: 5,00 из 5)

Как обрезать длинную строку и добавить в конец точки: 1 комментарий

Добавить комментарий для Петр Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code