summaryrefslogtreecommitdiff
path: root/kohana/core/utf8/strpos.php
diff options
context:
space:
mode:
Diffstat (limited to 'kohana/core/utf8/strpos.php')
-rw-r--r--kohana/core/utf8/strpos.php30
1 files changed, 30 insertions, 0 deletions
diff --git a/kohana/core/utf8/strpos.php b/kohana/core/utf8/strpos.php
new file mode 100644
index 00000000..577bc4ee
--- /dev/null
+++ b/kohana/core/utf8/strpos.php
@@ -0,0 +1,30 @@
+<?php defined('SYSPATH') or die('No direct script access.');
+/**
+ * utf8::strpos
+ *
+ * @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 _strpos($str, $search, $offset = 0)
+{
+ $offset = (int) $offset;
+
+ if (SERVER_UTF8)
+ return mb_strpos($str, $search, $offset);
+
+ if (utf8::is_ascii($str) AND utf8::is_ascii($search))
+ return strpos($str, $search, $offset);
+
+ if ($offset == 0)
+ {
+ $array = explode($search, $str, 2);
+ return isset($array[1]) ? utf8::strlen($array[0]) : FALSE;
+ }
+
+ $str = utf8::substr($str, $offset);
+ $pos = utf8::strpos($str, $search);
+ return ($pos === FALSE) ? FALSE : $pos + $offset;
+} \ No newline at end of file