Intereting Posts
Изменение роли пользователя при покупке определенных продуктов при завершении заказа Когда или по каким причинам люди должны включить PHP Safemode ON / OFF? Как сделать таблицу, подобную этой, с помощью FPDF с помощью PHP? Как получить объект (stdClass) из массива Как избежать неработающих ссылок в общем файле заголовка что такое APPPATH в кодеригенере расчет тарифов на такси с использованием php с google distance matrix api v2 Использование Twitter OAuth для автоматического обновления статуса Можем ли мы иметь язык, отличный от английского, в URL? Как использовать J модификатор в php? Пользовательский монолог-обработчик для монолога по умолчанию в Symfony 2 Как загрузить изображения в обычной форме вставки (MySql)? после загрузки изображение должно иметь три версии разных размеров и разных имен PHP – использование cURL для хранения сессии cookie в переменной / памяти Как преобразовать записи в таблицу в xml-формат в PHP? Как отключить ctrl-z, ctrl-c от выхода из php-скрипта

Как обрезать HTML со специальными символами?

Я знаю различные способы усечения строки HTML до определенной длины, включая / не включая теги HTML, как часть результата и / или усечение при сохранении целых слов и еще чего-то. Моя проблема, однако, в том, что строка содержит специальные символы, такие как – или &

Мне нужно усечь строку до 100 символов (или несколько меньше, если она в противном случае обрезается в середине специального символа). Прямо сейчас у меня есть функция:

 $result= truncateIfNecessary(strip_tags($fullText), 100); //ignore HTML tags function truncateIfNecessary($string, $length) { if(strlen($string) > $length) { return substr($string, 0, $length).'...'; } else { return $string; } } 

Но если строка – это что-то вроде text text – text text text – text (отображается на странице как: text text - text и $length падает в – он возвращает text text &nda... который отображается точно так, когда мне понадобится его, чтобы вернуть text text...

РЕДАКТИРОВАТЬ:

(опубликовано как ответ)

Solutions Collecting From Web of "Как обрезать HTML со специальными символами?"