scm4.cgiで数字を絵文字に置き換える


携帯サイトはやっぱり数字キーで選択した方が便利だから…


去年の3月に、『数字キーで選択できるようなサイトを作るときに、数字が絵文字になったら格好がいいので、改造できないか?』というお問い合わせが有りまして、作ったものです。 その頃、ちょっとダウナーな日々が続いていたので(良く考えたら、あんなことやこんなことがあった時期…笑)、長らくUPしてませんでした。
 このたび、このCGI周りを少し整理しようと思い、ついでにこれもUPしておきます。

デモはこちら

 デモ画面をスクロールすると一番下に元のHTMLファイルが出てきます。また、ローカルルーのタグもどき<e>というものを導入しています。
 要は、<e>0,<e>1,…<e>9という風に、『<e>+一桁の数字』で記入してあるHTMLを、アクセスしてきた機種にあわせて、コード変換しているだけのプログラムです。 正規表現などを全然勉強していないので、ここにソースを晒すのは本当は恥ずかしいのですけれどもね。一応、動作確認は大丈夫でした。

赤で表示されているコードを、前後の黒文字のコードを参考にしてその間にコピー&ペーストしていただけば出来上がりです。Softbank(Vodafone)用のコードがエスケープシーケンスなどを利用していて、普通の文字ではないので、文字化けには充分注意して下さい。
WinXP付属のメモ帳だったら大丈夫でしたが、メールにコピー&ペーストして送ったら化けてしまいました。
    # VODAFONとHDMLはpngそれ以外はgif
    if($pnum==1||$pnum==3){$honbun=~ s/\.gif\"/\.png\"/g;}else{$honbun=~ s/\.png\"/\.gif\"/g;}

    # 数字の絵文字の変換
    $honbun=~ s/<e>(.)/<e\1>/g;
    $honbun=~ s/<e\#>/<e10>/g;
    $honbun=~ s/<e\*>/<e11>/g;
    if($pnum == 0)   {@e_num=('&#xf990;','&#xf987;','&#xf988;','&#xf989;','&#xf98a;','&#xf98b;',
                              '&#xf98c;','&#xf98d;','&#xf98e;','&#xf98f;','&#xf985;','[*]')}
    elsif($pnum == 1){@e_num=('$FE','$F<','$F=','$F>','$F?','$F@',
                              '$FA','$FB','$FC','$FD','$F0','[*]')}
    elsif($pnum == 2){@e_num=('&#xf7c9;','&#xf6fb;','&#xf6fc;','&#xf740;','&#xf741;','&#xf742;',
                              '&#xf743;','&#xf744;','&#xf745;','&#xf746;','&#xf489;','[*]')}
    else{             @e_num=('[0]','[1]','[2]','[3]','[4]','[5]',
                              '[6]','[7]','[8]','[9]','[#]','[*]')}
    $honbun=~ s/<e([0-9]+)>/$e_num[$1]/g;


    #====================================================================================
    if($atnum==0){
        # 普通のインフォメーションページの表示を行うサブルーチンへ跳ぶ。
        &info_sub;

尚、PC用の数字の表示は、[0]〜[9]に置き換わります。画像を使われる場合は、[0]などをhtmlのフォルダの下にfigというフォルダを 作って絵文字をいく場合、<IMG SRC="fig/n0.GIF">などに書き換えてご使用ください。


お問い合わせいただいたS様、どうもありがとうございました。
2007.1.18:プログラムが間違っていたため、直して再アップしました。この間に見ていただいた方にお詫び申し上げます

2007.1.13

[HOME][とまて週報TOP]