注:如果在用mb_strlen出现fatal error: call to undefined function mb_strlen,这种问题你要可以用php教程info()看一下有没有装载mbstring,如果没有,尝试将php_mbstring.dll复制到%windows%目录下。
文件编码 utf-8
$var = '中文字符abc';
mb_strlen($var, 'utf-8'); // 输出7 中文英文都占一个字节
mb_strlen($var); // 输出15 中文占3个字节 英文占一个字节
mb_strlen($var, 'gbk'); // 输出9 不正常
取全部中文
function utf8substr($str, $from, $len)
{
return preg_replace('#^(?:[x00-x7f]|[xc0-xff][x80-xbf]+){0,'.$from.'}'.
'((?:[x00-x7f]|[xc0-xff][x80-xbf]+){0,'.$len.'}).*#s',
'$1',$str);
}
中文与英混体截取代码
function gb2312_strlen($string)
{
$str_len = strlen($string);
$str_count = 0;
for($j = 0; $j < $str_len; $j++)
{
if(ord($string{$j}) < 127)
{
$str_count += 1;
continue;
}
else
{
if(ord($string{$j+1}) > 127)
{
$str_count += 1;
$j++;
continue;
}
else
{
$str_count += 1;
continue;
}
}
}
return $str_count;
}
$str = "开s d";
echo gb2312_strlen($str);
买入区域已激活:加密货币抛售后,山寨币蓄势待发
马斯克Neuralink发布会震撼来袭:七人已植入脑机介面改变人生、下一步终结盲人,超狂路线图公开
为什么花140美元买Solana,而Kaanch只要0.64美元?(限时优惠)
随着山寨币势头回升,当前最值得关注的三大预售加密货币——其中一款已筹集超3亿美元
首席软件工程师表示,Ripple技术上并不持有380亿XRP代币
三位市长与比特币从754美元飙升至107,000美元的传奇