summaryrefslogtreecommitdiff
path: root/kohana/core/utf8/strlen.php
diff options
context:
space:
mode:
Diffstat (limited to 'kohana/core/utf8/strlen.php')
-rw-r--r--kohana/core/utf8/strlen.php21
1 files changed, 21 insertions, 0 deletions
diff --git a/kohana/core/utf8/strlen.php b/kohana/core/utf8/strlen.php
new file mode 100644
index 00000000..1a864328
--- /dev/null
+++ b/kohana/core/utf8/strlen.php
@@ -0,0 +1,21 @@
+<?php defined('SYSPATH') or die('No direct script access.');
+/**
+ * utf8::strlen
+ *
+ * @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 _strlen($str)
+{
+ // Try mb_strlen() first because it's faster than combination of is_ascii() and strlen()
+ if (SERVER_UTF8)
+ return mb_strlen($str);
+
+ if (utf8::is_ascii($str))
+ return strlen($str);
+
+ return strlen(utf8_decode($str));
+} \ No newline at end of file