ruby-on-rails - 在不允许所有 html 标签的情况下解析文本区域中的换行符

标签 ruby-on-rails escaping html-safe

我有一个 textarea 字段,用户可以在其中输入内容。在页面上显示他们的条目时,rails 返回 \n对于每个换行符,对于页面上的 html,它看起来根本没有换行符。

据我所知,解决这个问题的标准方法是 .gsub命令,替换 \n<br /> ,然后是 .html_safe到底要保证<br />呈现。

问题是,我不想 html_safe 内容 - html 仍然应该被替换,但是 <br />标签应该被注入(inject)到(非转义的)内容中。

建议表示赞赏。

最佳答案

simple_format方法适用于格式化换行符。它将文本 block 包装在 <p> 中标签,并将换行符转换为换行符( <br> )(双换行符将以下文本分成第二段)。

但是,它不会转义其他 html 字符,而只是允许它们。对于 simple_format 的组合后你想要什么连同 sanitize应该做得很好。尝试使用这个:
<%=raw sanitize(simple_format(@article.body), :tags => %w(br p) ) %>

关于ruby-on-rails - 在不允许所有 html 标签的情况下解析文本区域中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4253689/

相关文章:

ruby-on-rails - 尝试从透明重定向的子域登录时,Rails 5 的真实性 token 无效

ruby-on-rails - 在 rails 中使用一个查询更新多行

cmd中转义特殊字符

bash - 如何避免 heredoc 扩展变量?

ruby-on-rails - 将 ActiveRecord 属性标记为 html_safe

javascript - 在 Rails 应用程序上无法看到我使用 google map 添加的位置的 map

mysql - 优化 Rails 4/ActiveRecord/MySQL 中的删除操作

postgresql 中的字符串文字和转义字符

css - 如何在 Rails 应用程序中使用 html_safe 修复样式?

ruby-on-rails-3 - Rails CSV 将 ""而不是实际引号