Как обрезать длинную строку и добавить в конец точки. Введение
В этой маленькой статейке, приведен простой, но не редко необходимый, пример, который показывает, как обрезать длинную строку и добавить в конец точки с помощью 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;
Спасибо! Код помог. Искал как обрезать текст, который выводится в RSS