解决中英文字符串长度问题函数
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都…
一个更简单的无限级分类菜单代码
首先要感谢terry39的指点,元旦闲来无事,我就把他所讲的原理简单实现一下,这个程序的关键就在于数据表的设计很有特色,不用递归,依靠个简单SQL
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
discuz!5.0论坛显示风格的php代码高亮显示插件,把php代码进行语法着色,喜欢PHP的同志可以轻松的看代码啦。同时添加了html代码运行功能。此插件是在以前
cache_lite试用
今天研究下pear的cache_lite。从http://pear.php.net上下载了最新的cache_lite。cache_lite是pear库类中一个轻型的cache库类。的确轻型,代码总计4个文件。lite.phpcache/