ucwords.php 697 B

1234567891011121314151617181920212223
  1. <?php defined('SYSPATH') OR die('No direct script access.');
  2. /**
  3. * UTF8::ucwords
  4. *
  5. * @package Kohana
  6. * @author Kohana Team
  7. * @copyright (c) 2007-2012 Kohana Team
  8. * @copyright (c) 2005 Harry Fuecks
  9. * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt
  10. */
  11. function _ucwords($str)
  12. {
  13. if (UTF8::is_ascii($str))
  14. return ucwords($str);
  15. // [\x0c\x09\x0b\x0a\x0d\x20] matches form feeds, horizontal tabs, vertical tabs, linefeeds and carriage returns.
  16. // This corresponds to the definition of a 'word' defined at http://php.net/ucwords
  17. return preg_replace(
  18. '/(?<=^|[\x0c\x09\x0b\x0a\x0d\x20])[^\x0c\x09\x0b\x0a\x0d\x20]/ue',
  19. 'UTF8::strtoupper(\'$0\')',
  20. $str
  21. );
  22. }