处理HTML内容并尝试为每个帖子生成一些摘录,我使用以下代码进行清理然后截断,但问题是生成的文本没有任何空格。
= sanitize(post.body, tags: []).truncate(155, separator: ' ...').html_safe
以下图片构成编辑器,每个单词都是一个p
元素,可能有任何HTML元素,如图像,视频,....我只想显示文字。
以下图片是视图,我想在这些词之间添加空格(p
元素)
检查
我如何清理,截断内容并保留格式
答案 0 :(得分:3)
问题是你的标签周围没有空格,即 文字类似于
include ActionView::Helpers::SanitizeHelper
> content = "<p>this</p><p>is</p><p>great</p><p>and</p><p>for</p><p>some</p><p>reason</p>"
> strip_tags(content)
> "thisisgreatandforsomereason"
> content = "<p>this </p><p>is </p><p>great </p><p>and </p><p>for </p><p>some </p><p>reason </p>"
> strip_tags(content)
> "this is great and for some reason"
尝试在<p>
标记周围添加空格或使用正则表达式创建空格
for ex
> content = "<p>this</p><p>is</p><p>great</p><p>and</p><p>for</p><p>some</p><p>reason</p>"
> strip_tags(content.gsub('</p>', ' </p>')) # Note the space in replaced content
> "this is great and for some reason"