zoukankan      html  css  js  c++  java
  • Ruby: Escape, Unescape, Encode, Decode, HTML, XML, URI, URL

    This example will show you how to escape and un-escape a value to be included in a URI and within HTML.

    require 'cgi'
    
    # escape
    name = "ruby?"
    value = "yes"
    url = "http://example.com/?" + CGI.escape(name) + '=' + CGI.escape(value) + "&var=T"
    # url: http://example.com/?ruby%3F=yes&var=T
    html = %(<a href="#{CGI.escapeHTML(url)}">example</a>)
    # html: <a href="http://example.com/?ruby%3F=yes&amp;var=T">example</a>
    
    # unescape
    name_encoded = html.match(/http:([^"]+)/)[0]
    # name_encoded: http://example.com/?ruby%3F=yes&amp;var=T
    href = CGI.unescapeHTML(name_encoded)
    # href: http://example.com/?ruby%3F=yes&var=T
    query = href.match(/\?(.*)$/)[1]
    # query: ruby%3F=yes&var=T
    pairs = query.split('&')
    # pairs: ["ruby%3F=yes", "var=T"]
    name, value = pairs[0].split('=').map{|v| CGI.unescape(v)}
    # name, value: ["ruby?", "yes"]
  • 相关阅读:
    IO流
    myEclipse的使用
    单例模式
    日期的使用
    String类的常用方法
    break、continue和return的区别
    包装类和随机数
    enum类的使用
    Java基础概念性的知识总结
    汇编中的函数调用与递归
  • 原文地址:https://www.cnblogs.com/feichan/p/ruby.html
Copyright © 2011-2022 走看看