Google图书搜索会返回类似以下输出:
Introducing Little Simon's new Baby Snoopy line, featuring Charles Schulz'scharacters as babies.
如何将此转换为正常可读字符串?
我尝试使用URI.unescape并在网上搜索,但找不到任何信息。我是Ruby on Rails的新手。
Google图书搜索会返回类似以下输出:
Introducing Little Simon's new Baby Snoopy line, featuring Charles Schulz'scharacters as babies.
如何将此转换为正常可读字符串?
我尝试使用URI.unescape并在网上搜索,但找不到任何信息。我是Ruby on Rails的新手。
控制器
@str = get_str_from_google_book_search(ie.your.string)
视图
<%= @str.html_safe %>
字符串已经是HTML格式的,而且你正在使用Rails,所以我不确定你是否真的需要进一步简化它。虽然你示例字符串中的HTML数字字符引用确实有ASCII和Unicode等价物,但任何更复杂的内容,比如<p>
都会引起麻烦。
然而,对于你的示例字符串,有一种方法。
你可以使用HTML解析器将字符串解析为片段。
require 'nokogiri'
s1 = 'How's life?'
s2 = Nokogiri::HTML.fragment(s1).to_s
puts s2
你不需要转义那个字符串。以下代码可以正常工作。
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