Gaucheプログラミング(立読み版) > 第2部: 実用 > CGIを書こう > HTML文字列をエスケープする


[Prev] [Next] [Up] [Contents][フレーム表示] [フレーム解除

HTML文字列をエスケープする 応援する 

text.html-liteライブラリのhtml-escape-string手続きは、HTMLとして“不適切な”文字をエスケープします。

例:

 gosh> (use text.html-lite)
 #<undef>
 
 gosh> (html-escape-string "<p>")
 "&lt;p&gt;"
 
 gosh> (html-escape-string "\"test\"")
 "&quot;test&quot;"
 
 gosh> (html-escape-string "&")
 "&amp;"
 
 gosh> (html-escape-string "?")
 "?"
 
 gosh> (html-escape-string "+")
 "+"
 
 gosh> (html-escape-string "/")
 "/"
 
 gosh> (html-escape-string "あああ")
 "あああ"

HTMLで要素名を括るときに使う<記号や>記号のほか、&記号、"記号がエスケープされているのが分かります。 これらの文字はHTMLソースコードそのものを構成するため、CGIでそのまま表示すると予期せぬ結果を生じます。ユーザー入力された文字列をCGIで表示する際は、その表示の直前にhtml-escape-string手続きでエスケープしておくべきです。


[Prev] [Next] [Up] [Contents][フレーム表示] [フレーム解除

このサイトについて|ヘルプ|Q&A|個人情報保護|プライバシーポリシー|利用規約|コメント・トラックバック規約|削除規程|広告掲載
Copyright (c) 2005-2007 Time Intermedia Corporation