diff options
author | Vasudev Kamath <kamathvasudev@gmail.com> | 2012-07-06 22:47:27 +0530 |
---|---|---|
committer | Vasudev Kamath <kamathvasudev@gmail.com> | 2012-07-06 22:47:27 +0530 |
commit | ba4db236ecff1ffdb56adc2715b3f53515f8cb34 (patch) | |
tree | f0b9928aade8aab95d1608890fde1918ce163754 /library/Smarty/libs/plugins/shared.mb_str_replace.php | |
parent | 6e4760dd9c512147309b5e4a98d25216610f81da (diff) | |
parent | a122fecf50d06856a2ada8b564f711fb52c327f0 (diff) | |
download | volse-hubzilla-ba4db236ecff1ffdb56adc2715b3f53515f8cb34.tar.gz volse-hubzilla-ba4db236ecff1ffdb56adc2715b3f53515f8cb34.tar.bz2 volse-hubzilla-ba4db236ecff1ffdb56adc2715b3f53515f8cb34.zip |
Merge branch 'master' of git://github.com/friendica/friendica
Diffstat (limited to 'library/Smarty/libs/plugins/shared.mb_str_replace.php')
-rw-r--r-- | library/Smarty/libs/plugins/shared.mb_str_replace.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/library/Smarty/libs/plugins/shared.mb_str_replace.php b/library/Smarty/libs/plugins/shared.mb_str_replace.php new file mode 100644 index 000000000..ecafeb74a --- /dev/null +++ b/library/Smarty/libs/plugins/shared.mb_str_replace.php @@ -0,0 +1,55 @@ +<?php +/** + * Smarty shared plugin + * + * @package Smarty + * @subpackage PluginsShared + */ +if (!function_exists('smarty_mb_str_replace')) { + + /** + * Multibyte string replace + * + * @param string $search the string to be searched + * @param string $replace the replacement string + * @param string $subject the source string + * @param int &$count number of matches found + * @return string replaced string + * @author Rodney Rehm + */ + function smarty_mb_str_replace($search, $replace, $subject, &$count=0) + { + if (!is_array($search) && is_array($replace)) { + return false; + } + if (is_array($subject)) { + // call mb_replace for each single string in $subject + foreach ($subject as &$string) { + $string = &smarty_mb_str_replace($search, $replace, $string, $c); + $count += $c; + } + } elseif (is_array($search)) { + if (!is_array($replace)) { + foreach ($search as &$string) { + $subject = smarty_mb_str_replace($string, $replace, $subject, $c); + $count += $c; + } + } else { + $n = max(count($search), count($replace)); + while ($n--) { + $subject = smarty_mb_str_replace(current($search), current($replace), $subject, $c); + $count += $c; + next($search); + next($replace); + } + } + } else { + $parts = mb_split(preg_quote($search), $subject); + $count = count($parts) - 1; + $subject = implode($replace, $parts); + } + return $subject; + } + +} +?>
\ No newline at end of file |