Ejemplo n.º 1
0
/**
 * \Phalcana\UTF8::ucfirst
 *
 * @package    Kohana
 * @author     Kohana Team
 * @copyright  (c) 2007-2012 Kohana Team
 * @copyright  (c) 2005 Harry Fuecks
 * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt
 */
function _ucfirst($str)
{
    if (\Phalcana\UTF8::isAscii($str)) {
        return ucfirst($str);
    }
    preg_match('/^(.?)(.*)$/us', $str, $matches);
    return \Phalcana\UTF8::strtoupper($matches[1]) . $matches[2];
}
Ejemplo n.º 2
0
/**
 * \Phalcana\UTF8::ucwords
 *
 * @package    Kohana
 * @author     Kohana Team
 * @copyright  (c) 2007-2012 Kohana Team
 * @copyright  (c) 2005 Harry Fuecks
 * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt
 */
function _ucwords($str)
{
    if (\Phalcana\UTF8::isAscii($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_callback('/(?<=^|[\\x0c\\x09\\x0b\\x0a\\x0d\\x20])[^\\x0c\\x09\\x0b\\x0a\\x0d\\x20]/u', function ($matches) {
        return \Phalcana\UTF8::strtoupper($matches[0]);
    }, $str);
}
Ejemplo n.º 3
0
 /**
  * Tests UTF8::strtoupper
  *
  * @test
  * @dataProvider provider_strtoupper
  */
 public function test_strtoupper($input, $expected)
 {
     $this->assertSame($expected, UTF8::strtoupper($input));
 }