private function convertEmojiForInputCallback($value)
 {
     if (is_array($value)) {
         return array_map(array($this, 'convertEmojiForInputCallback'), $value);
     }
     $result = '';
     for ($i = 0; $i < strlen($value); $i++) {
         $emoji = '';
         $c1 = ord($value[$i]);
         if ($this->getContext()->getRequest()->getMobile()->isSoftBank()) {
             if ($c1 == 0xf7 || $c1 == 0xf9 || $c1 == 0xfb) {
                 $bin = substr($value, $i, 2);
                 $emoji = OpenPNE_KtaiEmoji::convertSoftBankEmojiToOpenPNEFormat($bin);
             }
         } elseif ($c1 == 0xf8 || $c1 == 0xf9) {
             $bin = substr($value, $i, 2);
             $emoji = OpenPNE_KtaiEmoji::convertDoCoMoEmojiToOpenPNEFormat($bin);
         } elseif (0xf3 <= $c1 && $c1 <= 0xf7) {
             $bin = substr($value, $i, 2);
             $emoji = OpenPNE_KtaiEmoji::convertEZWebEmojiToOpenPNEFormat($bin);
         }
         if ($emoji) {
             $result .= $emoji;
             $i++;
         } else {
             $result .= $value[$i];
             if (0x81 <= $c1 && $c1 <= 0x9f || 0xe0 <= $c1) {
                 $result .= $value[$i + 1];
                 $i++;
             }
         }
     }
     return $result;
 }