モバイルサイトのアクセスキーと絵文字を設定する

モバイルサイトでよく見る数字の絵文字がありますが、

それを表示するためには携帯電話会社各社の絵文字コードを

使用しますが、携帯電話会社によってコードが異なるため、

ユーザーエージェントを判別して各社の絵文字を設定する必要があります。

 

ユーザーエージェントを判別するPHPのスクリプト

<?php
if (eregi("DoCoMo",$_SERVER['HTTP_USER_AGENT'])){
//ドコモ
$num1="&#xE6E2;";
$num2="&#xE6E3;";
$num3="&#xE6E4;";
$num4="&#xE6E5;";
$num5="&#xE6E6;";
$num6="&#xE6E7;";
$num7="&#xE6E8;";
$num8="&#xE6E9;";
$num9="&#xE6EA;";
$num0="&#xE6EB;";
$numsharp="&#xE6E0;";
}
elseif (eregi("^J-PHONE|^Vodafone|^SoftBank|^MOT-",$_SERVER['HTTP_USER_AGENT'])){
//ソフトバンク
$num1="&#xE21C;";
$num2="&#xE21D;";
$num3="&#xE21E;";
$num4="&#xE21F;";
$num5="&#xE220;";
$num6="&#xE221;";
$num7="&#xE222;";
$num8="&#xE223;";
$num9="&#xE224;";
$num0="&#xE225;";
$numsharp="&#xE210;";
}
elseif (eregi("^UP.Browser|^KDDI|^PDXGW",$_SERVER['HTTP_USER_AGENT'])){
//au (<img localsrc="~~"><img localsrc="~~">が公式な方法)
$num1="&#xF6FB;"; //$num1="<img localsrc="180">;
$num2="&#xF6FC;"; //$num2="<img localsrc="181">;
$num3="&#xF740;"; //$num3="<img localsrc="182">;
$num4="&#xF741;"; //$num4="<img localsrc="183">;
$num5="&#xF742;"; //$num5="<img localsrc="184">;
$num6="&#xF743;"; //$num6="<img localsrc="185">;
$num7="&#xF744;"; //$num7="<img localsrc="186">;
$num8="&#xF745;"; //$num8="<img localsrc="187">;
$num9="&#xF746;"; //$num9="<img localsrc="188">;
$num0="&#xF7C9;"; //$num0="<img localsrc="325">;
$numsharp="&#xF489;"; //$numsharp="<img localsrc="818">;
}
elseif (eregi("DDIPOCKET|WILLCOM",$_SERVER['HTTP_USER_AGENT'])){
//ウィルコム
$num1="&#61631;";
$num2="&#61632;";
$num3="&#61633;";
$num4="&#61634;";
$num5="&#61635;";
$num6="&#61636;";
$num7="&#61637;";
$num8="&#61638;";
$num9="&#61639;";
$num0="&#61630;";
$numsharp="[#]";
}
elseif (eregi("^emobile",$_SERVER['HTTP_USER_AGENT'])){
//イー・モバイル(ドコモと同じ)
$num1="&#xE6E2;";
$num2="&#xE6E3;";
$num3="&#xE6E4;";
$num4="&#xE6E5;";
$num5="&#xE6E6;";
$num6="&#xE6E7;";
$num7="&#xE6E8;";
$num8="&#xE6E9;";
$num9="&#xE6EA;";
$num0="&#xE6EB;";
$numsharp="&#xE6E0;";
}
else {
//PC
$num1="[1]";
$num2="[2]";
$num3="[3]";
$num4="[4]";
$num5="[5]";
$num6="[6]";
$num7="[7]";
$num8="[8]";
$num9="[9]";
$num0="[0]";
$numsharp="[#]";
}
?>

絵文字を表示する場所に以下を記載(例:数字の0の絵文字)

<?php print $num0; ?><a href="http://www.hoshiya.biz/" accesskey="0">トップページへ</a>

 

参考サイト

携帯サイトのaccesskeyの数字画像を表示させるには
http://hoge.secret.jp/blog/2008/05/29/%E6%90%BA%E5%B8%AF%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AEaccesskey%E3%81%AE%E6%95%B0%E5%AD%97%E7%94%BB%E5%83%8F%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%95%E3%81%9B%E3%82%8B%E3%81%AB%E3%81%AF/

携帯の文字コードと絵文字の基礎知識|Mobile/Encoding - CodeRepos::Share - Trac
http://coderepos.org/share/wiki/Mobile/Encoding