php 字符串截取函数

xiaoxiao2021-03-01  15

/** * 格式化中英文字符串 * 多字节字符,是按双字节宽度截取的 * * @param $str 字符串 * @param $len 截取的字节数 * * @return 字符串 * */ function format_string($str,$len,$end='...') { //获取总的字节数 $ll = strlen($str); //字节数 $i = 0; //显示字节数 $l = 0; //返回的字符串 $s = $str; while ($i < $ll) { //获取字符的asscii $byte = ord($str{$i}); //如果是1字节的字符 if ($byte < 0x80) { $l++; $i++; } //如果是2字节字符 elseif ($byte < 0xe0) { $l += 2; $i += 2; } //如果是3字节字符 elseif ($byte < 0xf0) { $l += 2; $i += 3; } //其他,基本用不到 else { $l += 2; $i += 4; } //如果显示字节达到所需长度 if ($l >= $len) { //截取字符串 $s = substr($str, 0, $i); //如果所需字符串字节数,小于原字符串字节数 if($i < $ll) { //则加上省略符号 $s = $s . $end; break; } //跳出字符串截取 break; } } //返回所需字符串 return $s; }

 

相关资源:JS PHP字符串截取函数实现原理解析
转载请注明原文地址: https://www.6miu.com/read-4150296.html

最新回复(0)