具体来说,假设我以字符串
开头 string ="hello \'i am \' me"
然后我将字符串textilize以获得输出:
textilize(string) => "<p>hello ’i am ’ me</p>"
然后,因为我想得到一个人可见的字符数,我希望剥离html标签,并将特殊字符'反转为简单的撇号(即'或'')。 Strip_tags很容易:
strip_tags(textilize(string)) => "hello ’i am ’ me"
但我不知道如何扭转特殊字符。如果它有帮助,我知道方法html_escape会将尖括号等字符转换为十进制格式:
html_escape(">") => ">"
但我不知道有哪种方法可以解决这个问题。任何人都有关于自定义方法或rails方法的建议来完成这项任务吗?
答案 0 :(得分:3)
我不确定Rails是否内置了这个内容,但是有library可以做到这一点。它甚至可能带有Rails,因为我有它但没有单独安装它:
require 'htmlentities'
HTMLEntities.new.decode(">") # => ">"
HTMLEntities.new.encode(">") # => ">"
答案 1 :(得分:2)
您可以使用CGI::unescapeHTML
> CGI::unescapeHTML("Usage: foo "bar" <baz>")
=> "Usage: foo \"bar\" <baz>"
*编辑:htmlentities
的+1 @Beerlington。我总是忘记它存在。