在 Rails 中使用 sanitize 和 truncate 在元素之间添加 space

Add space between elements using sanitize and truncate in Rails

处理 HTML 内容并尝试为每个 post 生成一些摘录,我使用以下代码进行清理然后截断,但问题是生成的文本没有任何内容空格。

= sanitize(post.body, tags: []).truncate(155, separator: ' ...').html_safe

下图来自小编,每个字都是一个p 元素,可能有任何 HTML 元素,如图像、视频、..。我只想显示文本。

下图是视图,我想在这些单词之间添加空格(p个元素)

检查员

我如何清理、截断内容并保持格式

问题是标签周围没有空格,即 文本类似于

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> 标签周围留出空格或使用正则表达式创建空格

前任

> 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"