模块 CGI::Escape

公共实例方法

escape(string) → string 点击切换源代码

返回 URL 编码的字符串 (application/x-www-form-urlencoded)。

static VALUE
cgiesc_escape(VALUE self, VALUE str)
{
    StringValue(str);

    if (rb_enc_str_asciicompat_p(str)) {
        return optimized_escape(str, 1);
    }
    else {
        return rb_call_super(1, &str);
    }
}
escapeHTML(string) → string 点击切换源代码

返回 HTML 编码的字符串。

static VALUE
cgiesc_escape_html(VALUE self, VALUE str)
{
    StringValue(str);

    if (rb_enc_str_asciicompat_p(str)) {
        return optimized_escape_html(str);
    }
    else {
        return rb_call_super(1, &str);
    }
}
escapeURIComponent(string) → string 点击切换源代码

返回遵循 RFC 3986 的 URL 编码字符串。

static VALUE
cgiesc_escape_uri_component(VALUE self, VALUE str)
{
    StringValue(str);

    if (rb_enc_str_asciicompat_p(str)) {
        return optimized_escape(str, 0);
    }
    else {
        return rb_call_super(1, &str);
    }
}
也称为:escape_uri_component
escape_uri_component(p1)

返回遵循 RFC 3986 的 URL 编码字符串。

unescape(string, encoding=@@accept_charset) → string 点击切换源代码

返回 URL 解码的字符串 (application/x-www-form-urlencoded)。

static VALUE
cgiesc_unescape(int argc, VALUE *argv, VALUE self)
{
    VALUE str = (rb_check_arity(argc, 1, 2), argv[0]);

    StringValue(str);

    if (rb_enc_str_asciicompat_p(str)) {
        VALUE enc = accept_charset(argc-1, argv+1, self);
        return optimized_unescape(str, enc, 1);
    }
    else {
        return rb_call_super(argc, argv);
    }
}
unescapeHTML(string) → string 点击切换源代码

返回 HTML 解码的字符串。

static VALUE
cgiesc_unescape_html(VALUE self, VALUE str)
{
    StringValue(str);

    if (rb_enc_str_asciicompat_p(str)) {
        return optimized_unescape_html(str);
    }
    else {
        return rb_call_super(1, &str);
    }
}
unescapeURIComponent(string, encoding=@@accept_charset) → string 点击切换源代码

返回遵循 RFC 3986 的 URL 解码字符串。

static VALUE
cgiesc_unescape_uri_component(int argc, VALUE *argv, VALUE self)
{
    VALUE str = (rb_check_arity(argc, 1, 2), argv[0]);

    StringValue(str);

    if (rb_enc_str_asciicompat_p(str)) {
        VALUE enc = accept_charset(argc-1, argv+1, self);
        return optimized_unescape(str, enc, 0);
    }
    else {
        return rb_call_super(argc, argv);
    }
}
unescape_uri_component(*args)

返回遵循 RFC 3986 的 URL 解码字符串。