热门文章
阿标在线 动力3.62HTML生成3.62网站文件说明
动力3.62整合动网7.0 SP2插
MDAC2.8 下载!
动力3.62版 防止垃圾留言
动力3.6全方位改动方法
让3.62不同频道实现不同风
把3.62首页登陆为横向代码
动易3.6首页随机FLASH修改
362首页和文章频道页图文幻
个性化修改3.6宝典
3.62轻易实现网摘功能
如何正确统计中文字数?
弹出JAVASCRIPT语法错误对
后台使“网站顶部LOGO地址
最新图片文章横向移动的修
html 生成艺术字
3.6 Sp2 Logo和Banner及广
日期值的计算
汉字转拼音
首页“图片更新”图片滚动
简体中文转换为繁体中文的
如何在css中定义链接的下划
会自动补充的字串截取函数
[ 录入:阿标 | 点击数: | 更新时间:2005-3-18 12:47:00]
会自动补充的字串截取函数
当截取句子时,可能会断在一个单词的中间,如beincity一词被断在了当中,这样有时会不妥,下面这个函数就是用来解决这个问题的,当bDelete=TRUE时,就删除那个被截断的单词(因为我觉得把它删掉比把它补充完整要来得方便)。当然,这个函数支持对中文的操作,当双字节字符被截断时,会自动补充完整。
<?
function wordscut($string, $length, $bDelete=FALSE)
{
if(strlen($string) > $length) {
for($i = 0; $i < $length - 3; $i++) {
if(ord($string[$i]) > 127) {
$wordscut .= $string[$i].$string[$i + 1];
$i++;
} else {
$wordscut .= $string[$i];
}
}
///add
if( $i == $length-3 ) {
if( $bDelete ) {
if(ereg("[0-9a-zA-Z_\.\-]", $string[$i])) {
for($j=$i-1; $j>=0; $j--)
if(!ereg("[0-9a-zA-Z_\.\-]", $string[$j])) break;
$wordscut = substr($wordscut, 0, strlen($wordscut)-($i-$j)+1);
}
}
}
///
return $wordscut.' ...';
}
return $string;
}
echo wordscut("Hello,小坚.beincity!", 18, true);
echo "<br>";
echo wordscut("123 567 90abcde", 6+3, true);
?>
<?//another
function SubstrGB($in, $num, $delete=FALSE)
file://usage: $short = SubstrGB($yourText, $num, $delete?)
{
$pos=0;
$out="";
while($c = substr($in, $pos, 1)) {
if(ord($c) > 127) {
$out .= $c;
$pos++;
$c = substr($in, $pos, 1);
$out .= $c;
} else {
$out .= $c;
}
$pos++;
if($pos >= $num) break;
}
if($pos == $num) {
if( $delete ) {
if(ereg("[0-9a-zA-Z_\.\-]", substr($in, $pos, 1))) {
for($j = $pos-1; $j >= 0; $j--)
if(!ereg("[0-9a-zA-Z_\.\-]", substr($out, $j, 1)))
break;
$out = substr($out, 0, strlen($out)-($pos-$j)+1);
}
}
}
return $out;
}
?>
责任编辑: microrain