我有以下函数将 URL 解码为由 URL 的不同部分组成的哈希。例如,在我分配的第一行之后hash
,我收到以下输出:
>> CGI.parse(URI.parse("http://google.com/?foo=bar&baz=hello").query)
=> {"foo"=>["bar"], "baz"=>["hello"]}
在这个函数中,如果键是“p”或“q”,我会尝试提取值。我本质上想将散列过滤成我想要的键和值。
我的目标是只显示某人搜索的关键字,例如brick
or cement
。
这是我的功能:
def self.get_search_terms(search_url)
hash = CGI.parse(URI.parse(URI.encode(search_url)).query) #returns a hash
keywords = []
hash.each do |key|
if key["q"] != nil ||
key["p"] != nil
keywords << key
end
end
keywords
end