Blame | Letzte Änderung | Log anzeigen | RSS feed
<?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;}