Tagged 0.7.5
[scuttle] / includes / utf8 / ucfirst.php
diff --git a/includes/utf8/ucfirst.php b/includes/utf8/ucfirst.php
new file mode 100644 (file)
index 0000000..3897bfe
--- /dev/null
@@ -0,0 +1,34 @@
+<?php
+/**
+* @version $Id: ucfirst.php,v 1.1 2006/02/25 13:50:17 harryf Exp $
+* @package utf8
+* @subpackage strings
+*/
+
+//---------------------------------------------------------------
+/**
+* UTF-8 aware alternative to ucfirst
+* Make a string's first character uppercase
+* Note: requires utf8_strtoupper
+* @param string
+* @return string with first character as upper case (if applicable)
+* @see http://www.php.net/ucfirst
+* @see utf8_strtoupper
+* @package utf8
+* @subpackage strings
+*/
+function utf8_ucfirst($str){
+    switch ( utf8_strlen($str) ) {
+        case 0:
+            return '';
+        break;
+        case 1:
+            return utf8_strtoupper($str);
+        break;
+        default:
+            preg_match('/^(.{1})(.*)$/us', $str, $matches);
+            return utf8_strtoupper($matches[1]).$matches[2];
+        break;
+    }
+}
+

Benjamin Mako Hill || Want to submit a patch?