中成网站建设
    成都做网站,就选中成网站建设!专业四川网站建设,成都网站建设服务提供商
            企业宣传网站建设、电子商务网站建设、OA办公系统。联系电话:028-66165255

文章详情

网页设计中的文字符截断方法

1、PHP文字符截断方法。

/**
 * 中文字符截断(不含HTML标记处理)
 * @param string $str 要截断的字符串
 * @param integer $len 长度
 * @param integer $start 开始位置
 * @param string $tail_fix 后置字符
 * @param string $encode 编码
 * @return string 处理过后的字符串
 */
function csubstr($str, $len, $start= 0, $tail_fix= '…', $encode='utf-8') {
    $str_length= strlen($str);
    $i= $n= 0;
 
    if($str_length <= $len) {
        return $str;
    }
 
    //UTF-8 模式
    if(strtolower($encode) == 'utf-8' || is_utf8($str)) {
        $return_str= '';
        while(($n < $len) and($start <= $str_length -1)) {
            $ascnum= Ord(substr($str, $start, 1)); //ascii码
            if($ascnum >= 224) {
                $return_str= $return_str.substr($str, $start, 3);
                $start += 3;
                $n++;
            }
            elseif($ascnum >= 192) {
                $return_str= $return_str.substr($str, $start, 2);
                $start += 2;
                $n++;
            } else {
                $return_str= $return_str.substr($str, $start, 1);
                $start += 1;
                $n= $n +0.5;
            }
        }
 
        if($start == $str_length - 1){
            $tail_fix = '';
        }
    }
 
    //其他编码gbk, gb2312
    else {
        for($i= 0; $i < $str_length; $i++, $n++) {
            if(ord(substr($str, $i, 1)) > 0xa0) {
                $return_str .= $n >= $start ? substr($str, $i, 2) : '';
                $i++;
            } else if($n >= $start) {
                $return_str .= substr($str, $i, 1);
            }
 
            if($n >= $start + $len) {
                break;
            }
        }
 
        if($i >= $str_length){
            $tail_fix = '';
        }
    }
 
    return $return_str.$tail_fix;
}
 
function is_utf8($string) {
    return preg_match('%^(?:
         [\x09\x0A\x0D\x20-\x7E]            # ASCII
       | [\xC2-\xDF][\x80-\xBF]                # non-overlong 2-byte
       |  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
       | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}    # straight 3-byte
       |  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
       |  \xF0[\x90-\xBF][\x80-\xBF]{2}        # planes 1-3
       | [\xF1-\xF3][\x80-\xBF]{3}            # planes 4-15
       |  \xF4[\x80-\x8F][\x80-\xBF]{2}        # plane 16
   )*$%xs', $string);
}
 
echo csubstr($str,3);

2、jQuery文字符截断方法。

$(document).ready(function(){
$("[@limit]").each(function(){
var Text = $(this).text();//获得内容,这里会过滤小HTML代码
var textLength = $(this).text().length;//得到内容字节数
var num = $(this).attr("limit");//获得需要截取的值
if(textLength > num){
$(this).attr("title",Text);//将完整内容写入标签Title,有利于客户体验。
$(this).text(Text.substring(0,num) + "…");//…是结尾最加的东西
}
});
});
<h2 limit="24">截取内容截取内容截取内容截取内容截取内容截取内容截取内容截取内容</h2>

3、CSS文字符截断方法。

width:200px; // 宽度
height:24px; // 高度
overflow:hidden; // 裁切超出部分
text-overflow:ellipsis; // 显示省略号,Firefox无效。
white-space:nowrap; // 强制不换行 。

上一篇:firefox 操作 frameset, frameset 兼容firefox和IE

下一篇:已经是最后一篇
首页  |  建站学院  |  网站建设  |  成功案例  |  业务体系  |  软件定制  |  解决方案  |  联系我们  |  免责声明
中成网建公司地址:四川省成都市双楠双安东巷1号18-3-5 电话:028-6616 5255 版权所有 @ 中成网建
成都网站建设网址:www.csccd.net www.csccd.cn 邮箱:web#csccd.net
信息产业部备案号:蜀ICP备08106559号