Как получить первый символ из записи, не включая HTML
Я делаю тему для Болта (CMS), и она использует Twig
двигатель. Веб-сайт содержит статьи, поэтому я получаю поле статьи, как это {{ article.body }}
Теперь я хотел получить первую букву основной части статьи и сделать ее большой, а затем отобразить остальную часть основной части статьи (без этого первого символа) в обычном режиме, что иногда можно увидеть в книгах. Мне удалось это сделать, и я успешно сменил стиль первого персонажа.
Однако, используя большинство функций, которые Twig предлагает в документации, я чаще всего получаю "<" в качестве первого символа, так как при наборе текста статьи в панели администрирования он автоматически помещает <p>
тег к началу.
Есть ли способ преодолеть это?! Я бы не хотел, чтобы мой клиент удалил <p>
помечать каждый раз. Я думал, что будет простой способ получить тело без HTML или чего-то другого, подходящего для моего случая использования.
Как это в настоящее время работает прекрасно:
<span class="firstcharacter">{{ article.body[:1] }}</span> {{ article.body[1:] }}</p>
но это опирается на статью, не начиная с любого HTML
3 ответа
Существует псевдо-селектор css для первой буквы:
.firstcharacter::first-letter{font-size: 50px;}
Будет ли это работать для вас?
Вам не нужно извлекать первую букву, если вы используете CSS, например
Шаблон:<div class="dropcap">{{ article.body }}</div>
CSS:div.dropcap p:first-of-type::first-letter {color: #f00;}
Это изменит первую букву первого абзаца.