PHPで携帯の絵文字を表示する

PHP・MySQL
| | コメント(0) | トラックバック(0)
PHPで携帯サイトを構築することになったのですが、携帯の小さい画面でPCサイトと同様の文字を
表示するとわずらわしくてしょうがありません。
そこで絵文字を使って表現することにしたのですが、携帯のキャリアごとに絵文字のコードがあるんですよね。
そこで絵文字変換スクリプトを作ってみました。



1.まず絵文字配列を格納したincludeファイルを作成します。

$pic_char_array = array(
array("No","絵文字タイトル","DOCOMO用コード","au用コード","softbank用コード1","softbank用コード2","softbank用コード3","softbank用コード4","softbank用コード5")
);
※softbank用は一部特殊文字を使っているので1文字ずつをord()関数を使って格納します。


2.携帯キャリア振分スクリプトを書きます。
//携帯振分関数 ===================
function mobile_type_set()
{
    $UsrAgt = $_SERVER{'HTTP_USER_AGENT'};
    if (substr_count($UsrAgt,"DoCoMo")) {
        $user_agent = 'd';
    }
    elseif(substr_count($UsrAgt,"SoftBank")) {
        $user_agent = 's';
    }
    elseif(substr_count($UsrAgt,"vodafone")) {
        $user_agent = 's';
    }
    elseif(substr_count($UsrAgt,"UP.Browser")) {
        $user_agent = 'a';
    }
    else{
        $user_agent = 's';
    }
    return $user_agent;
}

3.次に1で作成したincludeファイルを読み込んで変換処理スクリプトを書きます。

// 携帯用絵文字変換関数 ======================================
$UA:2で作成した携帯キャリア判別の識別子
$char_code:今回はDOCOMO用のコードを引数に設定しています。
返り値:絵文字タグ

function mobile_pic_char($ua, $char_code)
{
    require ('【1で作成したファイル】');

    foreach($pic_char_array as $key => $element){
        if($element){
            if($element[4] == $char_code){
                
                $target_key = $key;
                break;
            }
        }
    }
    if($target_key){
        switch($ua){
            case 'd'://DOCOMO用
                // DOCOMO用は特殊タグを前後に挟む
                return "&#x".$pic_char_array[$target_key][2].";";
                break;
            case 's'://SoftBank用
                if($pic_char_array[$target_key][7]){
                    // softbankの場合は、chr()関数で文字を戻す
                    return  chr($pic_char_array[$target_key][7]).
                              chr($pic_char_array[$target_key][8]).
                              chr($pic_char_array[$target_key][9]).
                              chr($pic_char_array[$target_key][10]).
                              chr($pic_char_array[$target_key][11]);
                }
                else{
                    return FALSE;
                }
                break;
            case 'a'://au用
                // au用は専用タグで囲む
                return "<img localsrc=\"".$pic_char_array[$target_key][5]."\">";
                break;
            default:
                break;
        }
    }
    return FALSE;
}


あとは、絵文字を表示したい箇所にmobile_pic_char()関数を埋め込むだけです。


 

【WEB開発】カテゴリ:


【WEB開発】トラックバック(0)

【WEB開発】このブログ記事を参照しているブログ一覧: PHPで携帯の絵文字を表示する

【WEB開発】このブログ記事に対するトラックバックURL: http://web.creator-world.net/MT/mt-tb.cgi/42



【WEB開発】コメントする



カスタム検索

ioPLAZA【アイ・オー・データ直販サイト】 ioPLAZA【アイ・オー・データ直販サイト】
あれもこれも標準装備のレンタルサーバ あれもこれも標準装備のレンタルサーバ


Web広告限定ストア(eクーポン)Web広告限定ストア(eクーポン)

問い合わせ

メールフォーム