09/01/08 07:55:32
ああっ、ヒマだから正月中の遣り取り読んでたらなんかヒドいのがっ
>>99
> URI.escapeはURIの中に出てきたらおかしいものだけをエスケープする。
> +はURIの中に入っていても全く問題ないのでエスケープされない。
という妥当な流れから、
> +をエンコードしたいなら、CGI.escapeを使えばおk。
なんでこういう結論になるんだよ。っていうか最初にこれ言い始めた奴誰よ出てこいやオラ
>>95
URI.escape には2番目の引数がある。以下マニュアル
> URI.escape(str[, unsafe])
> URI 文字列をエンコードした文字列を返します。
> unsafe には、URI として指定できない文字を正規表現か文字列で指定します。
ということで
require 'uri'
url = 'URLリンク(www.google.com)'
p URI.escape(url).to_s
p URI.escape(url,'+').to_s
とすると
"URLリンク(www.google.com) "
"URLリンク(www.google.com) "
になる。CGIのエスケープはURIエスケープの代わりにはできないから、これにすべき。