Как изменить длину фрагмента сообщения блоггера, не влияя на текст другого виджета?

В этом коде:

<div class='resumo'>
  <span><data:post.snippet/>
 </span>
</div>
<a class='read-more' expr:href='data:post.url'>Read More</a>

Я заменил <data:post.snippet/> на <b:eval expr='snippet(data:post.body, {length: 450, linebreaks: false, links: false})' />, чтобы попытаться увеличить длину символа во фрагменте сообщения. Это сработало, но теперь текст в других моих виджетах выделен жирным шрифтом или курсивом. Как изменить длину символа во фрагменте, не затрагивая другие виджеты на моем веб-сайте?

Фрагмент публикации перед заменой кода:

Как изменить длину фрагмента сообщения блоггера, не влияя на текст другого виджета?

Фрагмент сообщения после замены кода (заголовок, текст виджета и т. д. Изменились на курсив):

Как изменить длину фрагмента сообщения блоггера, не влияя на текст другого виджета?

не могли бы вы поделиться своим стилем или снимком экрана.

Balaji731 14.01.2019 05:51

@ Balaji731, я добавил для вас скриншоты в посте.

Joel Belton 14.01.2019 06:09

Насколько я понимаю, вы говорите о контроле длины текста (под Следами ДНК ...)?

Balaji731 14.01.2019 06:17

Да, @ Balaji731 :)

Joel Belton 14.01.2019 06:22

затем проверьте пример кода codepen.io/balajidesigner/pen/dwwdrW?editors=1100. Думаю, это поможет. Если у вас есть какие-либо вопросы, дайте мне знать.

Balaji731 14.01.2019 06:24
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
2
5
1 221
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Эта проблема возникла из-за того, что тег данных data:post.body содержит все содержимое сообщения, включая HTML, в отличие от тегов данных data:post.snippet или data:post.longSnippet, которые удаляют их изнутри.

Несмотря на то, что оператор snippet учитывает только текстовое содержимое при определении длины, но он явно не удаляет теги HTML, связанные с этим содержимым (он предоставляет только параметры для удаления тегов привязки (<a>) с помощью опции links и тегов <br> с помощью linebreaks вариант, но нет параметров для других тегов, таких как смелый или курсив).

В этом конкретном случае присутствует HTML-тег для выделения текста курсивом, который не может быть закрыт должным образом из-за ограничения длины символа фрагмента (на снимке экрана мы можем заметить, что жирный текст из содержимого сообщения отображается правильно поскольку открывающий и закрывающий теги были включены в длину самого фрагмента). Из-за отсутствия закрывающего тега, используемого для выделения текста курсивом, браузер выделил курсивом весь текст после фрагмента (так как он не мог понять, где следует прекратить выделение курсивом)

Если требование к длине фрагмента не превышает 850 символов, то использование data:post.longSnippet будет лучшим выбором, чем data:post.body. Ранее data:post.longSnippet был ограничен 300-400 символами, но теперь этот предел был увеличен. Объединение его с оператором snippet даст вам больше контроля над длиной символа. Новый фрагмент кода будет выглядеть так -

<b:eval expr='snippet(data:post.longSnippet, {length: 650, linebreaks: false, links: false})' />

Другие вопросы по теме