怎么限制字串长度大小
dedecms限制标题长度加省略号的修改方法大家都知道,有时候,网页文章的标题太长的时候,会影响网页的美观,所以我们要对它进行修剪,限制它只显示多少个文字,多出来的部分用省略号代替1、修改CSS的:<a style=”width:120px; text-overflow:ellipsis; white-space:nowrap; overflow:hidden;” href=”xxxxx”网页文章很长很长很长很长的标题</a解释:width:120px; 限定长度,text-overflow:ellipsis :当对象内文本溢出时显示省略标记…,white-space:nowrap:强制文本在一行内显示,overflow:hidden:溢出内容为隐藏。修改CSS的方法简单,不过很遗憾,text-overflow:ellipsis属性在firefox中是没有效果的。2、修改模板的方法:用 [field:title function=’ ( strlen(”@me”)30 cn_substr(”@me”,30)”…” : “@me” ) ‘ /] 代替了原来的 [field:title /] ,在输出标题时多了一个判断的过程,先判断标题是否大于30字节,如果大于则只输出30字节的长度,并加上省略号。而title=” [field:title /]” 则不受影响,鼠标移上去时显示标题的全部内容。3、改dedecms程序方法:增加一个fulltitle标签,让你的title=显示完整标题具体修改如下:1、打开include目录下inc目录下的inc_fun_SpGetArcListphp文件2、找到228行Copy code$row['title'] = cn_substr($row['title'],$titlelen);在前面增加一行$row['fulltitle'] = $row['title']; //注释:显示完整标题3、找到$row['textlink'] = "<a href='"$row['filename']"'"$row['title']"</a";将其替换为:
参考下面方法
首先,打开后台——模板——默认模板管理——indexhtm
看到有一句,
rel="stylesheet" media="screen" type="text/css" />说明,模板是根据这个 CSS 来布局网
页的,于是就打开网站目录下面的templets\style\dedecmscss然后来分析一下CSS的构成。
根据主页的调用,来研究 CSS 这样容易理解。打开主页模板,找到:
那么 w960 center clear mt1 都定义了什么呢?打开 DEDECMSCSS 找打相关的定义。
center{
1 margin:0px auto; 定义了CSS 模块的边缘位置都是 0,也就是这个center 的层
距离上右下左都是 0px;
2 }
3 w960{
4 width:960px; 定义了整体的宽度为 960px;
5
6 }
7 pright infos_userinfo {
8 margin-bottom: 0px; 定义了首页右部下的互动中心的下面边缘为 0px;
9 }
10 mt1{
11 margin-top:8px; 定义了mt1 的顶部边缘为8px;
12 }
13 pright mt1{
14 margin-top:0px; 定义了pright 下面的mt1 顶部边缘为0px;
15 }
16 mt2{
17 margin-top:16px; 顶部边缘为16px;
18 }
19 clear{
20 overflow:hidden; 如果clear 层里面的内容超出了 层的范围 就隐藏起来。
21 }
这个pleft 的定义没有在dedecmscss 中,但是会发现一句
话
@import url("layoutcss");
@import url("pagecss");
这说明,在dedecmscss 中引用了 pagecss 和layoutcss 这两个样式表,于是就在
pagecss 中找到了pleft 的定义
pleft{
width:712px;定义了宽度
float:left;该层向左浮动
overflow:hidden;超出范围则隐藏
}
在该层下面调用的是新闻头条的内容,看看它的 css
index bignews{
width:424px;
height:400px;
float:right; 向右浮动
border:1px solid #DFF2F5;表示边框线用 #dff2f5 的实体颜色填充
background:url(/images/headbg-topgif) repeat-x;背景为 headbg-topgif 并且横
向平铺
overflow:hidden;超出则隐藏。
}
所以,看到头条的这部分是在 flash 幻灯片右边显示,并且加上了浅蓝色的边框线。
再来看看 onenews 是如何定义的。
index bignews onenews{
margin:0 3px 0 3px; 左右外边距分别空3 个像素
padding:7px 6px;上左内边距分别空7,6 个像素
border-bottom:1px dashed #EBEBEB;下边框加一个 #ebebeb 的虚线
}
所以看见头条的文章左右都有一定的距离,并且下面还有一个虚线显示
这个下面调用的是以往的头条,默认的有 4 篇文章,调用了d1 d1arc 2 个css
index bignews divd1{
padding:6px 10px;
clear:both;这句话是清除浮动,如果不加它,大家可以试试看,是不是 d1 这个层就跑到 头条的
右边了。
width:406px;
overflow:hidden;
}
index bignews divd1arc{
margin-right:12px;
width:190px;
float:left;因为此时要调用4 篇文章,改文章是 22 排列的,如果不加这个属性,新闻就应该垂
直排列了(因为刚才用 clear:both 清除浮动啦),大家试试看是不是这样的。
height:24px;
line-height:24px;行间距,即字体最底端与字体内部顶端之间的距离
overflow:hidden;
}
最新文章
下面看看 newarticle 这个css 吧,还是拿快学网的首页举例子,上面的这句是用来显示 “最近
更新”那几个绿颜色字的,看看它是怎么定义的。
index bignews divnewarticle{
height:24px; 高度
background:url(/images/new-articlegif) 8px 3px no-repeat;背景在x 轴8px 和y 轴
3px 出出现
font-size:0px;
color:#fff;
} 所以,能看到那个最近更新并且还有一个横条,其实它是个,大家右键另存为
看看就知道了
这里面调用了 c2 和ico1 两个 css
index bignews ulc2{
width:416px;
padding:0px 4px 0px; 内边距为 上0 右4 下0
clear:both;清除浮动 和上面的意思一样
overflow:hidden;
}
ico1 这个css 在layoutcss 中了。
ico1 li{
padding-left:16px; 指的是 新闻列表左内边距为 16px
background:url(/images/ico-1gif) 7px 11px no-repeat; 背景在7px,11px 处出现,所以看到最新文章的列表左边都有一个小黑点,这个小黑点就是 ico-1gif
}
到此,中部的头条新闻和最近更新已经分析完了。
看看flash 的 css 定义
index flashnews{
width:280px;
height:192px;
overflow:hidden;
float:left;这句决定了,flash 的新闻列表在 头条的左边显示。如果把 bignews 和flashnews
的float 属性互换一下应该是上面结果呢?大家试试看。
}
这边是特别推荐调用的样式,还是来看看 css
index latestnews{
width:280px;
height:200px;
margin-top:8px;
float:left;
}
index latestnews dl dd{
padding:2px 5px;
}
index latestnews ul a{
color:#555;
} 这里面就不用解释了吧,可以和上面的对照一下就能明白上面意思了。关键 dl dt dd 要弄明白
是什么意思。
dl 内容块
dt 内容块的标题
dd 内容
可以这么写:
标题
内容1
内容2
在layoutcss 中找到 tbox 的相关定义,其他的都不用罗嗦了,只有一句大家注意看一
下
tbox dt strong{
height:26px;
line-height:26px; !important;line-height:25px; 这一句是为了兼容 IE 和FF,比如
font-size: 12px !important;
font-size: 13px;
在 IE里面,由于 IE不理解 !important,则字体大小按照最后设定的 13px 展示
而FF 里面, !important 为提高优先级别,则字体大小按照 !important标记的12px 展示
某些css 某些代码在这两类浏览器里的显示是有差别的(注意这也是使用!important 的主要原因
所在),比如height: 21px;,在 IE6 和(IE7,FF)里显示就有差别,后者(IE7,FF)会比前
者(IE6)少一个像素。
padding-left:22px;
padding-right:4px;
display:block;//变成块级 ,因为strong 是内联元素,必须强制转换,不然的话是没有办法
定义padding 的。大家可以百度一下 内联元素看看。
float:left;
color:#397CBE;
background:url(/images/fbicogif) 5px 6px no-repeat;
letter-spacing:1px;
}
怎么限制字串长度大小
直接定义字串的最大长度就可以了,自后超过此长度的话,之后就无法插入,返回size有问题。
可以通过alter更改字串长度:
sql: alter tablename modify columnName varchar2(25);
解释:以上语句重置表中栏位的属性,设定最大长度是25个位元组,超过的话,无法正常插入。
JSP限制字串长度问题假设:
提取出来的str
如果长度大于10则取8位,后面加
如果长度小于10则直接输出
<%
int i=strlength();
if(i==10)
{
outprint(str);
}else if(i>10){
str=strsubstring(0,7); 字串撷取0-7共8位
outprint(str+"");
}else{
outprint("暂无内容");
}
%>
pascal如何控制字串长度var
st:string;
a,b:longint;记录想要输出的首位和末位
begin
readln(st);
for i:=a to b do
writeln(st[i]);
end
这样几位都可以控制啊
Python的re模组字串长度有限制么Python通过re模组提供对正则表示式的支援。使用re的一般步骤是先使用repile()函式,将正则表示式的字串形式编译为Pattern例项,然后使用Pattern例项处理文字并获得匹配结果(一个Match例项),最后使用Match例项获得资讯,进行其他的操作
C++怎么限制编辑框输入字串长度
你这种情况比较复杂!VC环境下可以有kbhit();给你一个程式码:#include#includeusingnamespacestd;intmain(){chara;if(kbhit())是否按下了键a=getch();取得输入putch(a);在萤幕上显示a字元return0;}这就是只能按一个键,输入一个字元的例子,其它的楼主可以自己编一下程式,可以控制按回车时再读入等
php字串 长度 有限制吗?没有明文说做了限制。
这样一般取决于所在的伺服器。
但貌似有个,2G的限制,这个不小了。
位址列传参的字串长度是否有限制HTTP 11 协议中对URL的长度是没有限制的
但是在实现中,伺服器端和游览器端对URL的长度都是有限制的
伺服器端的限制根据不同的配置会有不同的值
游览器端的限制由于浏览器的种类也各不相同,大致如下
IE 2083
Firefox 65536
Chrome 8182
Safari 80000
Opera 190000
dedecms在列表和文章页控制字串长度,怎么写啊?function="_substr(@me,字元数)"
swift20 字串长度怎么计算字串的长度通常是指字串中包含字元的数目,但有的时候人们需要的是字串所占位元组的数目。常见的获取字串长度的方法包括如下几种。
1使用sizeof获取字串长度
sizeof的含义很明确,它用以获取字元阵列的位元组数(当然包括结束符\0)。对于ANSI字串和UNICODE字串,形式如下:
sizeof(cs)/sizeof(char) sizeof(ws)/sizeof(wchar_t)
可以采用类似的方式,获取到其字元的数目。如果遇到MBCS,如"中文ABC",很显然,这种办法就无法奏效了,因为sizeof()并不知道哪个char是半个字元。
2使用strlen()获取字串长度
strlen()及wcslen()是标准C++定义的函式,它们分别获取ASCII字串及宽字串的长度,如:
size_t strlen( const char string ); size_t wcslen( const wchar_t string );
strlen()与wcslen()采取\0作为字串的结束符,并返回不包括\0在内的字元数目。
3使用CString::GetLength()获取字串长度
CStringT继承于CSimpleStringT类,该类具有函式:
int GetLength( ) const throw( );
GetLength()返回字元而非位元组的数目。比如:CStringW中,"中文ABC"的GetLength()会返回5,而非10。那么对于MBCS呢?同样,它也只能将一个位元组当做一个字元,CStringA表示的"中文ABC"的GetLength()则会返回7。
4使用std::string::size()获取字串长度
basic_string同样具有获取大小的函式:
size_type length( ) const; size_type size( ) const;
length()和size()的功能完全一样,它们仅仅返回字元而非位元组的个数。如果遇到MCBS,它的表现和CStringA::GetLength()一样。
5使用_bstr_t::length()获取字串长度
_bstr_t类的length()方法也许是获取字元数目的最佳方案,严格意义来讲,_bstr_t还称不上一个完善的字串类,它主要提供了对BSTR型别的封装,基本上没几个字串操作的函式。不过,_bstr_t 提供了length()函式:
unsigned int length ( ) const throw( );
该函式返回字元的数目。值得称道的是,对于MBCS字串,它会返回真正的字元数目。
首先[field:title/]就是指标题了,加上runphp='yes'就是执行里面自写的方法。你链接里面的代码有点小错误,应该这样写才是你要的。[field:title runphp='yes']if(strlen("@me")>34)@me=cn_substr("@me",34)"";else @me=@me;[/field:title]
里面的@me就是标题的值,if(strlen("@me")>34)就是判断标题是不是大于34字符(两个字符等于一个汉字),如果判断对,就截取@me 34个字符,然后再加上“”赋给原来的@me。如果没大于34字符的话就还是原来的值。
这有篇文章也许能有用:
下午上班,惊闻我的dedecms的网站出问题了,访问一看,果然全屏报错,检查mysql日志,错误信息为: Table '\dedecmsv4\dede_archives' is marked as crashed and should be repaired提示说cms的文章表dede_archives被标记有问题,需要修复。于是赶快恢复历史数据,上网查找原因。最终将问题解决。解决方法如下:找到mysql的安装目录的bin/myisamchk工具,在命令行中输入:myisamchk -c -r /data/dedecmsv4/dede_archivesMYI然后myisamchk 工具会帮助你恢复数据表的索引。重新启动mysql,问题解决。问题分析:1、错误产生原因,有网友说是频繁查询和更新dede_archives表造成的索引错误,因为我的页面没有静态生成,而是动态页面,因此比较同意这种说法。还有说法为是MYSQL数据库因为某种原因而受到了损坏,如:数据库服务器突发性的断电、在提在数据库表提供服务时对表的原文件进行某种操作都有可能导致MYSQL数据库表被损坏而无法读取数据。总之就是因为某些不可测的问题造成表的损坏。问题的编号为1452、问题解决办法。 当你试图修复一个被破坏的表的问题时,有三种修复类型。如果你得到一个错误信息指出一个临时文件不能建立,删除信息所指出的文件并再试一次--这通常是上一次修复操作遗留下来的。
这三种修复方法如下所示:
% myisamchk --recover --quick /path/to/tblName
% myisamchk --recover /path/to/tblName
% myisamchk --safe-recover /path/to/tblName
第一种是最快的,用来修复最普通的问题;而最后一种是最慢的,用来修复一些其它方法所不能修复的问题。 检查和修复MySQL数据文件
如果上面的方法无法修复一个被损坏的表,在你放弃之前,你还可以试试下面这两个技巧:
如果你怀疑表的索引文件(MYI)发生了不可修复的错误,甚至是丢失了这个文件,你可以使用数据文件(MYD)和数据格式文件(frm)重新生成它。首先制作一个数据文件(tblNameMYD)的拷贝。重启你的MySQL服务并连接到这个服务上,使用下面的命令删除表的内容:
mysql> DELETE FROM tblName;
在删除表的内容的同时,会建立一个新的索引文件。退出登录并重新关闭服务,然后用你刚才保存的数据文件(tblNameMYD)覆盖新的(空)数据文件。最后,使用myisamchk执行标准的修复(上面的第二种方法),根据表的数据的内容和表的格式文件重新生成索引数据。 如果你的表的格式文件(tblNamefrm)丢失了或者是发生了不可修复的错误,但是你清楚如何使用相应的CREATE TABLE语句来重新生成这张表,你可以重新生成一个新的frm文件并和你的数据文件和索引文件(如果索引文件有问题,使用上面的方法重建一个新的)一起使用。首先制作一个数据和索引文件的拷贝,然后删除原来的文件(删除数据目录下有关这个表的所有记录)。 启动MySQL服务并使用当初的CREATE TABLE文件建立一个新的表。新的frm文件应该可以正常工作了,但是最好你还是执行一下标准的修复(上面的第二种方法)。
0条评论