成都做网站,就选中成网站建设!专业四川网站建设,成都网站建设服务提供商
企业宣传网站建设、电子商务网站建设、OA办公系统。联系电话:028-66165255
企业宣传网站建设、电子商务网站建设、OA办公系统。联系电话:028-66165255
最新网站建设案例
- 网页设计中的文字符截断方法
- firefox 操作 frameset, frameset…
- div中最大最小宽度CSS样式属性
- JavaScript获取来源域名
- js数组的操作 数组创建/元素访问/…
- 按回车自动出发登陆按钮
- 设为首页代码大全
- 用CSS缩写给你的网站加速
- DIV CSS网页布局中常用的列表元素…
- 用css让图片自动适应表格大小
- 用JS进行网页打印设置
- 一段JS调用解决IE6-IE8的兼容性问…
- 何为Xhtml?与html相比Xhtml有什么…
- XHTML学前须知 什么是XHTML?更先…
- list-style-type 设置列表项目相关…
- CSS圆角边框 纯CSS制作
- DIV两列并排的几种标准写法
- DIV+CSS布局大全 如何命名 常用技…
- 十六进制颜色码 颜色码对照表-英…
- FLASH + XML 求职简历 制作教程(一…
- flash读取xml中的html格式的文本
- XML.nextSibling 获取子对象的下一…
- setAttribute() 方法创建或改变某…
- flash居于网页底部,flash--z-ind…
- JavaScript常量与变量
文章详情
网页设计中的文字符截断方法
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; // 强制不换行 。
/**
* 中文字符截断(不含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
下一篇:已经是最后一篇