<?php
function c_substr($string, $from, $length = null){
preg_match_all('/[x80-xff]?./', $string, $match);
if(is_null($length)){
$result = implode('', array_slice($match[0], $from));
}else{
$result = implode('', array_slice($match[0], $from, $length));
}
return $result;
}
$str = "zhon华人min共和guo";
$from = 3;
$length = 7;
echo(c_substr($str, $from, $length));
preferences:
30.63 ms | 402 KiB | 5 Q