Blame view

application/_libs/Smarty-3.0.9/libs/plugins/modifier.capitalize.php 984 Bytes
8d65d0ce   andryeyev   init
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  <?php
  /**
   * Smarty plugin
   * 
   * @package Smarty
   * @subpackage PluginsModifier
   */
  
  /**
   * Smarty capitalize modifier plugin
   * 
   * Type:     modifier<br>
   * Name:     capitalize<br>
   * Purpose:  capitalize words in the string
   * 
   * @link 
   * @author Monte Ohrt <monte at ohrt dot com> 
   * @param string $ 
   * @return string 
   */
  function smarty_modifier_capitalize($string, $uc_digits = false)
  { 
      // uppercase with php function ucwords
      $upper_string = ucwords($string); 
      // check for any missed hyphenated words
      $upper_string = preg_replace("!(^|[^\p{L}'])([\p{Ll}])!ue", "'\\1'.ucfirst('\\2')", $upper_string); 
      // check uc_digits case
      if (!$uc_digits) {
          if (preg_match_all("!\b([\p{L}]*[\p{N}]+[\p{L}]*)\b!u", $string, $matches, PREG_OFFSET_CAPTURE)) {
              foreach($matches[1] as $match)
              $upper_string = substr_replace($upper_string, $match[0], $match[1], strlen($match[0]));
          } 
      } 
      return $upper_string;
  } 
  
  ?>