解决中英文字符串长度问题函数
程序员文章站
2022-04-09 07:51:58
复制代码 代码如下:function strsplit($s, $len) { $end&nb...
复制代码 代码如下:
function strsplit($s, $len) {
$end = '…';
$result = '';
$strlen = strlen($s);
if ($strlen <= $len) {
return $s;
}
$len -= 2;
for ($i=0; $i<$len && $i<$strlen; $i++) {
$c = $s[$i];
if (ord($c) < 0x80) {
$result .= $c;
} elseif ($i+1<$len) {
$result .= $s[$i++] . $s[$i];
}
}
return ($i < $strlen) ? ($result . $end) : $result;
}
echo strsplit('1234567', 10), '<br />';
echo strsplit('1234567890', 10), '<br />';
echo strsplit('1234中文567890abcdefghijkl', 10), '<br />';
echo strsplit('全部都是中文', 10), '<br />';
echo strsplit('全a部b都c是d中e文', 10), '<br />';
输出:
1234567
1234567890
1234中文…
全部都是…
全a部b都…
上一篇: Java基础--正则表达式的规则
下一篇: dedecms系统常用术语汇总
推荐阅读
-
MSSQL 将截断字符串或二进制数据问题的解决方法
-
Mysql5.7中使用group concat函数数据被截断的问题完美解决方法
-
如何解决js函数防抖、节流出现的问题
-
ThinkPHP的截取字符串函数无法显示省略号的解决方法
-
谷歌拼音输入法快速切换中英文解决中英文混合打字问题
-
C#区分中英文按照指定长度截取字符串的方法
-
Android AutoWrapTextView中英文排版问题的解决方法
-
一个函数解决SQLServer中bigint 转 int带符号时报错问题
-
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
-
Axure RP 8怎么使用函数统计字符串长度?