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=('戀','驪','麗','黎','力','曆',
'歷','轢','年','憐','礪','[*]')}
elsif($pnum == 1){@e_num=('$FE','$F<','$F=','$F>','$F?','$F@',
'$FA','$FB','$FC','$FD','$F0','[*]')}
elsif($pnum == 2){@e_num=('','','','','','',
'','','','','','[*]')}
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]