Ruby on rails 与&;处理创业板问题;书信电报;及;燃气轮机;
我正在使用sanitize gem从字符串中删除一些HTML标记 但是,在清理控制器中的字符串之前,字符串的设置如下:Ruby on rails 与&;处理创业板问题;书信电报;及;燃气轮机;,ruby-on-rails,ruby,sanitize,Ruby On Rails,Ruby,Sanitize,我正在使用sanitize gem从字符串中删除一些HTML标记 但是,在清理控制器中的字符串之前,字符串的设置如下: <p>This is <b>bold</b> and this <span style="text-decoration: underline;">is</span> <i>italics</i> ok? This <em&g
<p>This is <b>bold</b> and this <span style="text-decoration: underline;">is</span> <i>italics</i> ok? This <em>is not </em>a problem.</p>
这是b本票/b这是现金/i行吗?这不是问题
这意味着
和
将取代例如,当这些标记在控制器中被表示为
I
和/I
时,如何使用清理gem来删除这些标记?如果您希望为了清理而将转义的HTML标记(<和>)视为HTML,那么您必须首先取消对它们的清理:
require 'cgi'
Sanitize.clean(CGI.unescapeHTML(your_string))
需要“cgi”
Sanitize.clean(CGI.unescapethtml(您的_字符串))
如果您希望转义的HTML标记(<和>)被视为HTML以进行清理,那么您必须首先取消对它们的扫描: require 'cgi' Sanitize.clean(CGI.unescapeHTML(your_string)) 需要“cgi” Sanitize.clean(CGI.unescapethtml(您的_字符串))
我不确定我是否懂你的英语。你得到的结果是什么?我不确定我是否理解你的英语。你得到了什么意外的结果?谢谢你的帮助@Richard Hulse。然而,我并没有遇到另一个问题:转义HTML:pPARAGRAPH/p未转义HTML(使用CGI.unescapetHTML(转义HTML)):段落经过消毒的HTML(使用Sanitize.clean(使用Sanitize.clean(未转义的HTML,:elements=>['a',p',b',ul ol',li',strong')):段落你知道为什么开场后会有一个?我知道这可能不是有效的HTML,但我希望保持标签的顺序。感谢Sanitize Gem构建在Nokogiri之上,这意味着它将自动关闭所有未关闭的标签。第一个被视为未闭合的标签。最后一个额外的结束标记被视为多余的。如果您需要处理未验证的HTML,则可能需要编写自己的解析器(这不是一项轻率的任务)。:-)也许@Richard Hulse可以帮我解决另一个与消毒相关的问题?谢谢。如果这是正确的答案,请标记为正确。谢谢您的帮助@Richard Hulse。然而,我并没有遇到另一个问题:转义HTML:pPARAGRAPH/p未转义HTML(使用CGI.unescapetHTML(转义HTML)):段落经过消毒的HTML(使用Sanitize.clean(使用Sanitize.clean(未转义的HTML,:elements=>['a',p',b',ul ol',li',strong')):段落你知道为什么开场后会有一个?我知道这可能不是有效的HTML,但我希望保持标签的顺序。感谢Sanitize Gem构建在Nokogiri之上,这意味着它将自动关闭所有未关闭的标签。第一个被视为未闭合的标签。最后一个额外的结束标记被视为多余的。如果您需要处理未验证的HTML,则可能需要编写自己的解析器(这不是一项轻率的任务)。:-)也许@Richard Hulse可以帮我解决另一个与消毒相关的问题?谢谢。如果这是正确的答案,请你这样做。