Я создаю сайт о здоровье. И мне нужно отображать некоторые симптомы вместе с их данными в таблице. Однако имена некоторых симптомов слишком велики, что вызывает проблему макета. Итак, я нашел способ, чтобы сократить их имена с PHP, как вы можете увидеть ниже:Усечение/сокращение текста вызывает ошибку кодирования на HTML-объектах
<?=strlen($a)>45 ? stripslashes(substr($a, 0, 45)."...") : stripslashes($a)?>
Он отлично работает. Единственная проблема заключается в том, что строка вырезается в середине HTML Entity, что заставляет браузер отображать алмаз с вопросительным знаком (http://prntscr.com/dzqyps).
Пример:
Оригинальная строка:
длинная строка с более чем х символов заканчивается J & aacute
Усеченный строка:
длинная строка с более x символов заканчивается j & аа ...
Строка, как показано в браузере:
длинная строка с более чем х символов заканчивается J ...
Как я могу решить эту проблему?
Спасибо, человек, для вашего щелчка ответ! Отличное решение! Я также добавлю еще одно решение, которое я нашел, которое вырезает строку перед словом с помощью узлов html: http://stackoverflow.com/questions/1104306/how-to-get-first-x-chars-from-a-string -без-режущий-вне-последнее слово – Educative