diff options
| author | kazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-02-17 14:08:27 +0000 |
|---|---|---|
| committer | kazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-02-17 14:08:27 +0000 |
| commit | 1dd02660bcebd599ed481e86b4cdb59865da74a8 (patch) | |
| tree | e8e7a267c9daf90ac2b8dbe6d4fea10514e09650 | |
| parent | 5688661bd26141458fd00c05db19651996f4edec (diff) | |
| download | ruby-1dd02660bcebd599ed481e86b4cdb59865da74a8.tar.gz ruby-1dd02660bcebd599ed481e86b4cdb59865da74a8.tar.xz ruby-1dd02660bcebd599ed481e86b4cdb59865da74a8.zip | |
* lib/cgi.rb (CGI::escapeHTML): use gsub with Hash. [ruby-dev:33828]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | lib/cgi.rb | 8 |
2 files changed, 11 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Sun Feb 17 23:06:55 2008 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * lib/cgi.rb (CGI::escapeHTML): use gsub with Hash. [ruby-dev:33828] + Sun Feb 17 21:38:21 2008 NARUSE, Yui <naruse@ruby-lang.org> * encoding.c (ENC_CODERANGE_AND): fix broken case. [ruby-dev:33826] diff --git a/lib/cgi.rb b/lib/cgi.rb index 52502b311..7997a58f4 100644 --- a/lib/cgi.rb +++ b/lib/cgi.rb @@ -355,12 +355,18 @@ class CGI end end + TABLE_FOR_ESCAPE_HTML__ = { + '&' => '&', + '"' => '"', + '<' => '<', + '>' => '>', + } # Escape special characters in HTML, namely &\"<> # CGI::escapeHTML('Usage: foo "bar" <baz>') # # => "Usage: foo "bar" <baz>" def CGI::escapeHTML(string) - string.gsub(/&/, '&').gsub(/\"/, '"').gsub(/>/, '>').gsub(/</, '<') + string.gsub(/[&\"<>]/, TABLE_FOR_ESCAPE_HTML__) end |
