[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/libraries/Smarty/libs/plugins/ -> shared.mb_str_replace.php (source)

   1  <?php
   2  /**
   3   * Smarty shared plugin
   4   *
   5   * @package Smarty
   6   * @subpackage PluginsShared
   7   */
   8  if (!function_exists('smarty_mb_str_replace')) {
   9  
  10      /**
  11       * Multibyte string replace
  12       *
  13       * @param string $search  the string to be searched
  14       * @param string $replace the replacement string
  15       * @param string $subject the source string
  16       * @param int    &$count  number of matches found
  17       * @return string replaced string
  18       * @author Rodney Rehm
  19       */
  20      function smarty_mb_str_replace($search, $replace, $subject, &$count=0)
  21      {
  22          if (!is_array($search) && is_array($replace)) {
  23              return false;
  24          }
  25          if (is_array($subject)) {
  26              // call mb_replace for each single string in $subject
  27              foreach ($subject as &$string) {
  28                  $string = &smarty_mb_str_replace($search, $replace, $string, $c);
  29                  $count += $c;
  30              }
  31          } elseif (is_array($search)) {
  32              if (!is_array($replace)) {
  33                  foreach ($search as &$string) {
  34                      $subject = smarty_mb_str_replace($string, $replace, $subject, $c);
  35                      $count += $c;
  36                  }
  37              } else {
  38                  $n = max(count($search), count($replace));
  39                  while ($n--) {
  40                      $subject = smarty_mb_str_replace(current($search), current($replace), $subject, $c);
  41                      $count += $c;
  42                      next($search);
  43                      next($replace);
  44                  }
  45              }
  46          } else {
  47              $parts = mb_split(preg_quote($search), $subject);
  48              $count = count($parts) - 1;
  49              $subject = implode($replace, $parts);
  50          }
  51          return $subject;
  52      }
  53  
  54  }
  55  ?>


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1