/** * Return an HTML_Emoji instance for that carrier. * * @param string $carrier * @return HTML_Emoji */ function &getInstance($carrier = null) { static $instances = array(); $aliases = array( 'docomo' => 'docomo', 'i-mode' => 'docomo', 'imode' => 'docomo', 'au' => 'au', 'kddi' => 'au', 'ezweb' => 'au', 'aumail' => 'aumail', 'softbank' => 'softbank', 'disney' => 'softbank', 'vodafone' => 'softbank', 'iphone' => 'iphone', 'j-phone' => 'jphone', 'jphone' => 'jphone', 'willcom' => 'docomo', 'emobile' => 'docomo', ); if (isset($carrier) === false) { $carrier = HTML_Emoji::_detectCarrier(); } $carrier = strtolower($carrier); $carrier = isset($aliases[$carrier]) ? $aliases[$carrier] : 'pc'; if (isset($instances[$carrier]) === false) { $class = 'HTML_Emoji_' . ucfirst($carrier); $dirname = substr(__FILE__, 0, -4); $filename = $dirname . '/' . ucfirst($carrier) . '.php'; require_once $filename; $instance = new $class; $instance->_carrier = $carrier; $instances[$carrier] = $instance; } return $instances[$carrier]; }