Beispiel #1
0
function _emoji_convert($matches)
{
    $o_code = $matches[1];
    switch ($GLOBALS['__Framework']['carrier']) {
        case 'i':
        case 'w':
        case 'em':
            $carrier = 'i';
            break;
        case 's':
            $carrier = 's';
            break;
        case 'e':
            $carrier = 'e';
            break;
        default:
            $carrier = null;
            break;
    }
    $emoji_code = OpenPNE_KtaiEmoji::getInstance();
    $c_emoji = $emoji_code->convert_emoji($o_code, $carrier);
    if ($c_emoji) {
        return $c_emoji;
    } else {
        return '〓';
    }
}
Beispiel #2
0
 public static function convertSoftBankEmojiToOpenPNEFormat($bin)
 {
     $sjis1 = ord($bin[0]);
     $sjis2 = ord($bin[1]);
     $web1 = $web2 = 0;
     switch ($sjis1) {
         case 0xf9:
             if ($sjis2 >= 0x41 && $sjis2 <= 0x7e) {
                 $web1 = ord('G');
                 $web2 = $sjis2 - 0x20;
             } elseif ($sjis2 >= 0x80 && $sjis2 <= 0x9b) {
                 $web1 = ord('G');
                 $web2 = $sjis2 - 0x21;
             } elseif ($sjis2 >= 0xa1 && $sjis2 <= 0xed) {
                 $web1 = ord('O');
                 $web2 = $sjis2 - 0x80;
             }
             break;
         case 0xf7:
             if ($sjis2 >= 0x41 && $sjis2 <= 0x7e) {
                 $web1 = ord('E');
                 $web2 = $sjis2 - 0x20;
             } elseif ($sjis2 >= 0x80 && $sjis2 <= 0x9b) {
                 $web1 = ord('E');
                 $web2 = $sjis2 - 0x21;
             } elseif ($sjis2 >= 0xa1 && $sjis2 <= 0xf3) {
                 $web1 = ord('F');
                 $web2 = $sjis2 - 0x80;
             }
             break;
         case 0xfb:
             if ($sjis2 >= 0x41 && $sjis2 <= 0x7e) {
                 $web1 = ord('P');
                 $web2 = $sjis2 - 0x20;
             } elseif ($sjis2 >= 0x80 && $sjis2 <= 0x8d) {
                 $web1 = ord('P');
                 $web2 = $sjis2 - 0x21;
             } elseif ($sjis2 >= 0xa1 && $sjis2 <= 0xd7) {
                 $web1 = ord('Q');
                 $web2 = $sjis2 - 0x80;
             }
             break;
         default:
             return '';
     }
     $emoji_code = OpenPNE_KtaiEmoji::getInstance();
     $code = $emoji_code->get_emoji_code4emoji(pack('c5', 0x1b, 0x24, $web1, $web2, 0xf), 's');
     return '[' . $code . ']';
 }
 protected static function convertEmojiCallback($matches)
 {
     $o_code = $matches[1];
     $c_carrier = sfConfig::get('op_opensocial_api_emoji_carrier', 'i');
     $o_carrier = $o_code[0];
     $o_id = substr($o_code, 2);
     $ktaiEmoji = OpenPNE_KtaiEmoji::getInstance();
     if ($c_carrier == $o_carrier) {
         $emojiString = $ktaiEmoji->convert_emoji($o_code, $c_carrier);
         if ($emojiString) {
             if ('i' === $c_carrier) {
                 return mb_convert_encoding($emojiString, 'UTF-8', 'SJIS-win');
             }
             return $emojiString;
         }
     } elseif (isset($ktaiEmoji->relation_list[$o_carrier][$c_carrier][$o_id])) {
         return self::convertEmoji($ktaiEmoji->relation_list[$o_carrier][$c_carrier][$o_id]);
     }
     return '〓';
 }
Beispiel #4
0
 public static function convertSoftBankEmojiToOpenPNEFormat($bin)
 {
     $sjis1 = ord($bin[0]);
     $sjis2 = ord($bin[1]);
     $codepoint = 0;
     switch ($sjis1) {
         case 0xf9:
             if ($sjis2 >= 0x41 && $sjis2 <= 0x7e) {
                 $codepoint = 0xe000 + $sjis2 - 0x40;
             } elseif ($sjis2 >= 0x80 && $sjis2 <= 0x9b) {
                 $codepoint = 0xe000 + $sjis2 - 0x41;
             } elseif ($sjis2 >= 0xa1 && $sjis2 <= 0xed) {
                 $codepoint = 0xe300 + $sjis2 - 0xa0;
             }
             break;
         case 0xf7:
             if ($sjis2 >= 0x41 && $sjis2 <= 0x7e) {
                 $codepoint = 0xe100 + $sjis2 - 0x40;
             } elseif ($sjis2 >= 0x80 && $sjis2 <= 0x9b) {
                 $codepoint = 0xe100 + $sjis2 - 0x41;
             } elseif ($sjis2 >= 0xa1 && $sjis2 <= 0xf3) {
                 $codepoint = 0xe200 + $sjis2 - 0xa0;
             }
             break;
         case 0xfb:
             if ($sjis2 >= 0x41 && $sjis2 <= 0x7e) {
                 $codepoint = 0xe400 + $sjis2 - 0x40;
             } elseif ($sjis2 >= 0x80 && $sjis2 <= 0x8d) {
                 $codepoint = 0xe400 + $sjis2 - 0x41;
             } elseif ($sjis2 >= 0xa1 && $sjis2 <= 0xd7) {
                 $codepoint = 0xe500 + $sjis2 - 0xa0;
             }
             break;
         default:
             return '';
     }
     $emoji_code = OpenPNE_KtaiEmoji::getInstance();
     $code = $emoji_code->get_emoji_code4emoji(sprintf('&#x%04X;', $codepoint), 's');
     return '[' . $code . ']';
 }