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; }