| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | <?php/** * Smarty shared plugin * * @package Smarty * @subpackage PluginsShared *//** * convert characters to their decimal unicode equivalents * * @link http://www.ibm.com/developerworks/library/os-php-unicode/index.html#listing3 for inspiration * @param string $string   characters to calculate unicode of * @param string $encoding encoding of $string, if null mb_internal_encoding() is used * @return array sequence of unicodes * @author Rodney Rehm */function smarty_mb_to_unicode($string, $encoding=null) {    if ($encoding) {        $expanded = mb_convert_encoding($string, "UTF-32BE", $encoding);    } else {        $expanded = mb_convert_encoding($string, "UTF-32BE");    }    return unpack("N*", $expanded);}/** * convert unicodes to the character of given encoding * * @link http://www.ibm.com/developerworks/library/os-php-unicode/index.html#listing3 for inspiration * @param integer|array $unicode  single unicode or list of unicodes to convert * @param string        $encoding encoding of returned string, if null mb_internal_encoding() is used * @return string unicode as character sequence in given $encoding * @author Rodney Rehm */function smarty_mb_from_unicode($unicode, $encoding=null) {    $t = '';    if (!$encoding) {        $encoding = mb_internal_encoding();    }    foreach((array) $unicode as $utf32be) {        $character = pack("N*", $utf32be);        $t .= mb_convert_encoding($character, $encoding, "UTF-32BE");    }    return $t;}?>
 |