当前位置: 首页 > 图文教程 > 网络编程 > PHP > 解决中英文字符串长度问题函数

PHP
PHP5中PDO的简单使用
更好的构造开发模板 五种PHP设计模式
PHP和AJAX打造高级RSS聚合器
跟我来学PHP5:session会话的使用和分析
构建可配置PHP应用程序的正确方式
在PHP中全面阻止SQL注入式攻击之一
在PHP中全面阻止SQL注入式攻击之二
在PHP中全面阻止SQL注入式攻击之三
7种流行PHP集成开发工具(IDE)的比较
PHP中的XML应用
PHP会话——session 时间设定使用入门
PHP对GB编码动态转UTF-8几种方法评测
确保PHP安全,不能违反的四条安全规则
如何利用PHP会话显示出当前在线的用户
PHP开发实例:创建PDF中文文档的程序代码
动态网页技术PHP的数组处理函数库
一贴学会PHP 为落伍的MJJ们量身定做的教程
PHP生成RSS类 (PHP类)
基于PHP和AJAX创建RSS聚合器 (1)
PHP实例——PHP创建动态图像

PHP 中的 解决中英文字符串长度问题函数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 274 ::
收藏到网摘: n/a

复制代码 代码如下:

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都…