| -1203- ついでのついでに・・・CGIの特殊文字処理 |
|
昨日のこのe日記で レスポンシブのついでに 画像の大きさをブラウザ等の表示幅に合わせて縮小する方法に関して書いた。 その説明文の中で < img alt="" src="*.JPG"・・> などとHTMLタグ文字列を表示させた。こうしたHTML表示する文章の中で < とか > という文字は実は特殊文字でそのまま表示されずにタグとして特殊な働きをしてしまう。従って < とか >という文字をタグの解釈をさせないでそのまま表示させたい時はそれぞれ < とか > とかの特殊なコードに置き換えて書いておくと、受け取ったブラウザが変換して < とか > を表示してくれる。 ・・・・とここまでは定石なんだが、この e日記の場合単に書き込んだものをそのまま表示させるだけでなく、書き直し編集のためのページもあって、せっかく < とか > と記述しておいてもそのページで編集時に原文を表示させるとき 、それが < とか > とかに変換されてしまう。一旦変換されてしまうと、表示文字の < > なのか、タグの < >なのかの区別は出来ないので、再度それをサーバーに送り返してからもう一度HTML出力しようとするとそれらが全てタグ文字列と解釈されてしまうということに気付いた。編集のたびに < を < と書きなおせばいいんだが、それは面倒で忘れること必然。 何とかならないかと思案したが、結局ローカルルールで < のところは << と同じ文字を繰り返しておき、それを 編集画面以外に出力する場合は < と置き換えるようにプログラムを修正してみた。 この記事はそのプログラムで出力しているので、編集書き換えしても問題ない(はず)。他にもっといい方法がありそうなんだが・・・、自力ではここまで。 写真はキバナコスモスの蜜を吸う(多分)ヒメアカタテハ蝶。随分艶やかな色の取り合わせだ。 |
|
2014/09/09 |