« あと少しだね | メイン | 今週のおみやげ♪ »
HTMLエンコーディング
2005年12月01日

public class MyHtml {
    public static String htmlEncoding( String str ){
        str = str.replaceAll("&" , "&");
        str = str.replaceAll("<" , "&lt;");
        str = str.replaceAll(">" , "&gt;");
        str = str.replaceAll("'", "&#39;");
        str = str.replaceAll("\"", "&quot;");
        str = str.replaceAll(" " , "&nbsp;");
        return str;    
}
    public static void main(String[] args){
    System.out.println("<html><body>");
    System.out.println(htmlEncoding("aaa bbb<html>&'\""));
    System.out.println("</body></html>");
    }
}

とりあえずメモしておきます。
ネットから拾ってきたのに不具合があって、それを修正....といっても順番を変えただけ。
&→&amp;の変更は最初にしなくっちゃぁね*^^*

URLエンコーディングするクラスはあるけれど、
HTMLエンコーディングはないんですよね。
名前は似ているけれど、ぜんぜん異なるものなのだけれど....
HTMLエンコーディングは、『タグに使われる文字(たとえば<>など)』をサイト上に表示したいときに行います*^^*

ServletなどでHTMLを生成する際に表示するデータにタグに使われる文字が含まれることが考えられる場合に気をつけなくてはなりません。
んなこと、「アッタリマエだのクラッカー(古~っ!)」なんですけれどね。

ただいま仕事で悶々としています。(あまり詳しく話せないけれど...)
ったくどーにも、こーにも.....
HTMLエンコーディングは平たくいえば文字列変換。
staticメソッドですよねっ!

投稿者 megu : 2005年12月01日 22:54

コメント

これは必須ですね。
うちでは¥や,も変換しちゃってるな~

今月からプロジェクトが変わってJavaからC#でASP.NET
になってしまいました^^;
マイクロソフトの言語での開発は初めて・・・

投稿者 charcoal : 2005年12月02日 11:21

悶々としそうなところですよね。僕はそのあたりは大嫌い
です。後、文字コードとか最も苦手とするところです。
第三水準がどうだこうだとか(・"・;) ウッキー
|電柱|ヽ(_ _|||)))) おえぇぇぇ!!
って感じです(笑) 失礼失礼。

やっぱり僕は根っからのWindowsプログラマー体質だなぁー。需要は少ないが。。。(苦笑)

投稿者 たか : 2005年12月02日 20:09

☆charcoalさん
C#,ASP.NETお疲れ様です。
私も会社をやめていなければ今頃どっぷりVB.NETのはずでした>逃げたともいう?
なぜかWindozeの世界は好きになれないのです....
IDE必須ですし。(ですよね?)
Javaでも、viでソース編集。
コマンドたたいてantでbuildしたりするのが好きなんです。
あっ、仕事ではそんなことしていませんが。自宅ではしていますが(^^;;;

>うちでは¥や,も変換しちゃってるな~
なるほど。それらもやばいかも。

また月曜日がやってきましたね(ゆーつ)
がんばりまショ*^^*

投稿者 megu : 2005年12月05日 00:26

☆たかさん
悶々としているのは、この部分ではなくて
このこと絡みの人間関係というか....鬱....
まぁ、いろいろあります(^^;;;;

日本語処理は問題が多くて頭痛いです。
Tomcat5のサンプルJSPの文字化け、まだ解決していませんし。
(放置している...という表現のほうが正しいかもしれませんが~(^^;;;)
このブログもUTF-8を使っているので、一部文字コードがへんちょこりんになったりしていますよね。
第三水準っていうのは、、、なぁに?って感じですが。
#お願い、電柱にしないで....
そういえば、某役所のお仕事で外字の管理なんてのもあって、頭が痛かったです。

投稿者 megu : 2005年12月05日 00:30

コメントしてください




保存しますか?