Хранилища Subversion ant

Редакция

Редакция 2 | К новейшей редакции | Только различия | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS

Редакция 2 Редакция 3
1
<?php
1
<?php
2
/**
2
/**
3
 * Smarty plugin
3
 * Smarty plugin
4
 * @package Smarty
4
 * @package Smarty
5
 * @subpackage plugins
5
 * @subpackage plugins
6
 */
6
 */
7
7
8
8
9
/**
9
/**
10
 * Smarty capitalize modifier plugin
10
 * Smarty capitalize modifier plugin
11
 *
11
 *
12
 * Type:     modifier<br>
12
 * Type:     modifier<br>
13
 * Name:     capitalize<br>
13
 * Name:     capitalize<br>
14
 * Purpose:  capitalize words in the string
14
 * Purpose:  capitalize words in the string
15
 * @link http://smarty.php.net/manual/en/language.modifiers.php#LANGUAGE.MODIFIER.CAPITALIZE
15
 * @link http://smarty.php.net/manual/en/language.modifiers.php#LANGUAGE.MODIFIER.CAPITALIZE
16
 *      capitalize (Smarty online manual)
16
 *      capitalize (Smarty online manual)
17
 * @author   Monte Ohrt <monte at ohrt dot com>
17
 * @author   Monte Ohrt <monte at ohrt dot com>
18
 * @param string
18
 * @param string
19
 * @return string
19
 * @return string
20
 */
20
 */
21
function smarty_modifier_capitalize($string, $uc_digits = false)
21
function smarty_modifier_capitalize($string, $uc_digits = false)
22
{
22
{
23
    smarty_modifier_capitalize_ucfirst(null, $uc_digits);
23
    smarty_modifier_capitalize_ucfirst(null, $uc_digits);
24
    return preg_replace_callback('!\'?\b\w(\w|\')*\b!', 'smarty_modifier_capitalize_ucfirst', $string);
24
    return preg_replace_callback('!\'?\b\w(\w|\')*\b!', 'smarty_modifier_capitalize_ucfirst', $string);
25
}
25
}
26
26
27
function smarty_modifier_capitalize_ucfirst($string, $uc_digits = null)
27
function smarty_modifier_capitalize_ucfirst($string, $uc_digits = null)
28
{
28
{
29
    static $_uc_digits = false;
29
    static $_uc_digits = false;
30
   
30
   
31
    if(isset($uc_digits)) {
31
    if(isset($uc_digits)) {
32
        $_uc_digits = $uc_digits;
32
        $_uc_digits = $uc_digits;
33
        return;
33
        return;
34
    }
34
    }
35
   
35
   
36
    if(substr($string[0],0,1) != "'" && !preg_match("!\d!",$string[0]) || $_uc_digits)
36
    if(substr($string[0],0,1) != "'" && !preg_match("!\d!",$string[0]) || $_uc_digits)
37
        return ucfirst($string[0]);
37
        return ucfirst($string[0]);
38
    else
38
    else
39
        return $string[0];
39
        return $string[0];
40
}
40
}
41
41
42
42
43
?>
43
?>
44
 
44