/** * 絵文字コードを指定キャリアの絵文字もしくは代替文字列に変換する */ function convert_emoji($o_code, $c_carrier = null) { $o_carrier = $o_code[0]; $o_id = substr($o_code, 2); if (is_null($c_carrier) || $o_carrier == $c_carrier) { // キャリアの変更がないか、キャリアが指定されていない場合はそのまま変換処理 $c_code = $o_id; switch ($c_carrier) { case 'i': $converter = OpenPNE_KtaiEmoji_Docomo::getInstance(); break; case 's': $converter = OpenPNE_KtaiEmoji_Softbank::getInstance(); break; case 'e': $converter = OpenPNE_KtaiEmoji_Au::getInstance(); break; default: // PC向けau/SoftBank→DoCoMo絵文字変換 if ((!defined('OPENPNE_EMOJI_DOCOMO_FOR_PC') || OPENPNE_EMOJI_DOCOMO_FOR_PC) && $o_carrier !== 'i') { return self::convertEmoji($this->relation_list[$o_carrier]['i'][$o_id]); } $c_code = $o_code; // 画像出力の際にキャリア情報が必要になるため、絵文字IDではなく絵文字コードを用いる $converter = OpenPNE_KtaiEmoji_Img::getInstance(); break; } return $converter->get_emoji4emoji_code_id($c_code); } else { // キャリアの変更がある場合、ここでの変換処理はおこなわず、対応する文字列に置換した上で再度変換処理 return self::convertEmoji($this->relation_list[$o_carrier][$c_carrier][$o_id]); } }