模块 CGI::Escape

公共实例方法

escape(字符串) → 字符串 点击切换源码

返回 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(字符串) → 字符串 点击切换源码

返回 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(字符串) → 字符串 点击切换源码

返回符合 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(p1)

返回符合 RFC 3986 的 URL 转义后的字符串。

unescape(字符串, encoding=@@accept_charset) → 字符串 点击切换源码

返回 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(字符串) → 字符串 点击切换源码

返回 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(字符串, encoding=@@accept_charset) → 字符串 点击切换源码

返回符合 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 反转义后的字符串。