diff options
author | friendica <info@friendica.com> | 2012-07-03 22:23:08 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-07-03 22:23:08 -0700 |
commit | fd626022ec02ef47b9142bba08180502babbd0ca (patch) | |
tree | ffc77e4e9cafdc6e20217f3970de982cabcbd838 /library/Smarty/libs/plugins/shared.mb_unicode.php | |
parent | 13b4962531ca3c4f085b385a2c6b8f088abb7d6a (diff) | |
download | volse-hubzilla-fd626022ec02ef47b9142bba08180502babbd0ca.tar.gz volse-hubzilla-fd626022ec02ef47b9142bba08180502babbd0ca.tar.bz2 volse-hubzilla-fd626022ec02ef47b9142bba08180502babbd0ca.zip |
add smarty engine, remove some obsolete zot1 stuff
Diffstat (limited to 'library/Smarty/libs/plugins/shared.mb_unicode.php')
-rw-r--r-- | library/Smarty/libs/plugins/shared.mb_unicode.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/library/Smarty/libs/plugins/shared.mb_unicode.php b/library/Smarty/libs/plugins/shared.mb_unicode.php new file mode 100644 index 000000000..e7f839ec8 --- /dev/null +++ b/library/Smarty/libs/plugins/shared.mb_unicode.php @@ -0,0 +1,48 @@ +<?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; +} + +?>
\ No newline at end of file |