PageRenderTime 48ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/includes/libraries/utf8/strpos.php

http://joostina.googlecode.com/
PHP | 30 lines | 17 code | 4 blank | 9 comment | 4 complexity | 5e8477f98007dced3c276481ec35f83f MD5 | raw file
Possible License(s): LGPL-2.1
  1. <?php defined('SYSPATH') OR die('No direct access allowed.');
  2. /**
  3. * utf8::strpos
  4. *
  5. * @package Core
  6. * @author Kohana Team
  7. * @copyright (c) 2007 Kohana Team
  8. * @copyright (c) 2005 Harry Fuecks
  9. * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt
  10. */
  11. function _strpos($str, $search, $offset = 0)
  12. {
  13. $offset = (int) $offset;
  14. if (SERVER_UTF8)
  15. return mb_strpos($str, $search, $offset);
  16. if (utf8::is_ascii($str) AND utf8::is_ascii($search))
  17. return strpos($str, $search, $offset);
  18. if ($offset == 0)
  19. {
  20. $array = explode($search, $str, 2);
  21. return isset($array[1]) ? utf8::strlen($array[0]) : FALSE;
  22. }
  23. $str = utf8::substr($str, $offset);
  24. $pos = utf8::strpos($str, $search);
  25. return ($pos === FALSE) ? FALSE : $pos + $offset;
  26. }