[ Index ]

PHP Cross Reference of Joomla 1.5.26 DE

title

Body

[close]

/libraries/phputf8/ -> ucwords.php (source)

   1  <?php
   2  /**
   3  * @version $Id: ucwords.php 10381 2008-06-01 03:35:53Z pasamio $
   4  * @package utf8
   5  * @subpackage strings
   6  */
   7  
   8  //---------------------------------------------------------------
   9  /**
  10  * UTF-8 aware alternative to ucwords
  11  * Uppercase the first character of each word in a string
  12  * Note: requires utf8_substr_replace and utf8_strtoupper
  13  * @param string
  14  * @return string with first char of each word uppercase
  15  * @see http://www.php.net/ucwords
  16  * @package utf8
  17  * @subpackage strings
  18  */
  19  function utf8_ucwords($str) {
  20      // Note: [\x0c\x09\x0b\x0a\x0d\x20] matches;
  21      // form feeds, horizontal tabs, vertical tabs, linefeeds and carriage returns
  22      // This corresponds to the definition of a "word" defined at http://www.php.net/ucwords
  23      $pattern = '/(^|([\x0c\x09\x0b\x0a\x0d\x20]+))([^\x0c\x09\x0b\x0a\x0d\x20]{1})[^\x0c\x09\x0b\x0a\x0d\x20]*/u';
  24      return preg_replace_callback($pattern, 'utf8_ucwords_callback',$str);
  25  }
  26  
  27  //---------------------------------------------------------------
  28  /**
  29  * Callback function for preg_replace_callback call in utf8_ucwords
  30  * You don't need to call this yourself
  31  * @param array of matches corresponding to a single word
  32  * @return string with first char of the word in uppercase
  33  * @see utf8_ucwords
  34  * @see utf8_strtoupper
  35  * @package utf8
  36  * @subpackage strings
  37  */
  38  function utf8_ucwords_callback($matches) {
  39      $leadingws = $matches[2];
  40      $ucfirst = utf8_strtoupper($matches[3]);
  41      $ucword = utf8_substr_replace(ltrim($matches[0]),$ucfirst,0,1);
  42      return $leadingws . $ucword;
  43  }
  44  


Generated: Wed Mar 28 15:54:07 2012 Cross-referenced by PHPXref 0.7.1