Google图书搜索输出类似这样的内容
Introducing Little Simon's new Baby Snoopy line, featuring Charles Schulz'scharacters as babies.
如何将其转换为正常的可读字符串?
我尝试了URI.unescape并在线搜索,但找不到任何东西。我是Ruby on Rails的新手。
答案 0 :(得分:4)
也许你需要告诉Rails它是HTML安全的.....
控制器
@str = get_str_from_google_book_search(ie.your.string)
视图
<%= @str.html_safe %>
答案 1 :(得分:0)
您无需转义该字符串。以下工作正常。
irb(main):001:0> s="Introducing Little Simon's new Baby Snoopy line, featuring Charles Schulz'scharacters as babies."
=> "Introducing Little Simon's new Baby Snoopy line, featuring Charles Schulz'scharacters as babies."
irb(main):002:0> s
=> "Introducing Little Simon's new Baby Snoopy line, featuring Charles Schulz'scharacters as babies."
如果你有一个你需要逃脱的角色,比如“,你可以用\来逃避它:
irb(main):008:0> s = "a\"b"
=> "a\"b"
irb(main):009:0> puts s
a"b
=> nil
答案 2 :(得分:0)
该字符串已经是HTML,而您正在使用Rails,因此我不确定您是否真的需要将其进一步归结。虽然示例字符串 do 中的HTML数字字符引用同时具有ASCII和Unicode等效项,但像<p>
这样的任何更复杂的引用都会带来麻烦。
但是,对于您的示例字符串,有一种方法。
您可以使用HTML解析器将字符串解析为片段。
require 'nokogiri'
s1 = 'How's life?'
s2 = Nokogiri::HTML.fragment(s1).to_s
puts s2