У меня есть строка из 69 символов:
This is a test with characters like € or "like this". How 'bout that?
Я использую CKEditor в своей форме и выделяю слово «тест» жирным шрифтом.Вот как это сохраняется в базе данных:
<p>This is a <strong>test </strong>with characters like € or "like this". How 'bout that?</p>
Если я хочу показать строку без какой-либо разметки, я использую Twig-фильтры striptags
и raw
друг за другом, что приводит к:
This is a test with characters like € or "like this". How 'bout that?
Теперь из исходной строки я хочу показать первые 65 символов без какого-либо стиля.Я использую Twig-фильтр truncate (65)
.Это мой код в Twig:
{{ string | striptags | raw | truncate (65) }}
Мой результат -
This is a test with characters like € or "like this&quo...
Как вы можете видеть, специальные символы отображаются в виде их имени сущности HTML, хотя я только добавил truncate
фильтр.Это ошибка или это следует ожидать?То же самое происходит, когда я использую фильтр slice
.
Мой результат должен быть:
This is a test with characters like € or "like this". How 'bout
РЕДАКТИРОВАТЬ: Я понимаю, в чем проблема сейчас.При использовании фильтра raw
для строки это не означает, что ни один из исходных символов из этой строки (т. Е. Имена сущностей HTML) не будет учитываться при использовании фильтра slice
или truncate
.Я до сих пор не нашел решение, хотя.