/system/utf8/str_split.php

https://bitbucket.org/seyar/parshin.local · PHP · 27 lines · 13 code · 5 blank · 9 comment · 3 complexity · cf4ce9b62e3323f3a2e0afcf62d23239 MD5 · raw file

  1. <?php defined('SYSPATH') or die('No direct script access.');
  2. /**
  3. * UTF8::str_split
  4. *
  5. * @package Kohana
  6. * @author Kohana Team
  7. * @copyright (c) 2007-2010 Kohana Team
  8. * @copyright (c) 2005 Harry Fuecks
  9. * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt
  10. */
  11. function _str_split($str, $split_length = 1)
  12. {
  13. $split_length = (int) $split_length;
  14. if (UTF8::is_ascii($str))
  15. return str_split($str, $split_length);
  16. if ($split_length < 1)
  17. return FALSE;
  18. if (UTF8::strlen($str) <= $split_length)
  19. return array($str);
  20. preg_match_all('/.{'.$split_length.'}|[^\x00]{1,'.$split_length.'}$/us', $str, $matches);
  21. return $matches[0];
  22. }