@ 2013-03-31T17:12:32Z <?php
function cn_substr_utf8($str, $start=0,$length)
{
if(strlen($str) < $start+1)
{
return '';
}
preg_match_all("/./su", $str, $ar);
$str = '';
$tstr = '';
//为了兼容mysql教程4.1以下版本,与数据库教程varchar一致,这里使用按字节截取
for($i=0; isset($ar[0][$i]); $i++)
{
if(strlen($tstr) < $start)
{
$tstr .= $ar[0][$i];
}
else
{
if(strlen($str) < $length + strlen($ar[0][$i]) )
{
$str .= $ar[0][$i];
}
else
{
break;
}
}
}
return $str;
}
$a = '测试这是一个测试';
$a = 'xxxxbbbbbnnn';
$b = cn_substr_utf8($a,0,6,'utf-8');
var_dump($b);
?>
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 8.1.0 - 8.1.28 , 8.2.0 - 8.2.18 , 8.3.0 - 8.3.6 Deprecated: Optional parameter $start declared before required parameter $length is implicitly treated as a required parameter in /in/OtX5L on line 3
string(7) "xxxxbbb"
Output for 8.0.0 - 8.0.30 Deprecated: Required parameter $length follows optional parameter $start in /in/OtX5L on line 3
string(7) "xxxxbbb"
Output for 4.3.0 - 4.3.11 , 4.4.0 - 4.4.9 , 5.0.0 - 5.0.5 , 5.1.0 - 5.1.6 , 5.2.0 - 5.2.17 , 5.3.0 - 5.3.29 , 5.4.0 - 5.4.45 , 5.5.0 - 5.5.38 , 5.6.0 - 5.6.28 , 7.0.0 - 7.0.20 , 7.1.0 - 7.1.10 , 7.2.0 - 7.2.33 , 7.3.12 - 7.3.33 , 7.4.0 - 7.4.33 string(7) "xxxxbbb"
preferences:dark mode live preview
277.25 ms | 405 KiB | 355 Q