diff options
Diffstat (limited to 'system/core/utf8/ucwords.php')
-rw-r--r-- | system/core/utf8/ucwords.php | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/system/core/utf8/ucwords.php b/system/core/utf8/ucwords.php new file mode 100644 index 00000000..2d4c94b6 --- /dev/null +++ b/system/core/utf8/ucwords.php @@ -0,0 +1,26 @@ +<?php defined('SYSPATH') OR die('No direct access allowed.'); +/** + * utf8::ucwords + * + * @package Core + * @author Kohana Team + * @copyright (c) 2007 Kohana Team + * @copyright (c) 2005 Harry Fuecks + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt + */ +function _ucwords($str) +{ + if (SERVER_UTF8) + return mb_convert_case($str, MB_CASE_TITLE); + + if (utf8::is_ascii($str)) + return ucwords($str); + + // [\x0c\x09\x0b\x0a\x0d\x20] matches form feeds, horizontal tabs, vertical tabs, linefeeds and carriage returns. + // This corresponds to the definition of a 'word' defined at http://php.net/ucwords + return preg_replace( + '/(?<=^|[\x0c\x09\x0b\x0a\x0d\x20])[^\x0c\x09\x0b\x0a\x0d\x20]/ue', + 'utf8::strtoupper(\'$0\')', + $str + ); +}
\ No newline at end of file |