html - 如何更改博文片段长度而不影响其他小部件文本?

标签 html blogger

在此代码中:

<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})' />尝试增加帖子片段的字符长度。它有效,但现在我其他小部件中的文本是粗体或斜体。如何更改代码片段字符长度而不影响我网站上的其他小部件?

在替换代码之前发布代码片段:

Post snippet before replacing code:

替换代码后发布代码片段(标题、小部件文本等已更改为斜体):

Post snippet after replacing code:

最佳答案

出现此问题的原因是 data:post.body数据标签包含帖子的全部内容,包括 HTML,这与 data:post.snippet 不同。或data:post.longSnippet数据标签在内部剥离这些内容。

尽管 snippet运算符仅在确定长度时计算文本内容,但不会显式剥离与该内容关联的 HTML 标签(它仅提供通过 <a> 选项和 links 标签剥离 anchor ( <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})' />

关于html - 如何更改博文片段长度而不影响其他小部件文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54175848/

相关文章:

html - 仅当通过 HDMI 电缆连接到电视时,使用负边距的 Div 扩展过去的容器 div 具有 x 滚动

html - Bootstrap 导航栏对齐正确的问题没有崩溃

java - 如何使用 ROME 从 Atom feed 读取 "gd:image"元素

javascript - 删除 Blogger JS 小部件上评论号的显示

javascript - prettyPrint() 不会在页面加载时被调用

blogger - 向下滚动时自动加载较旧的帖子,如 blogspot 上的 9gag

html - 如何在 XSLT 中插入 html 文本?

javascript - 如何在调整窗口大小时保持 chartjs/ng2-charts 渐变?

javascript - 提交验证失败

html - Blogger 上的 float 社交媒体重叠