帝国论坛帝国网站管理系统交流区帝国CMS使用交流文章列表标题的按长度截取后如何在后面添加省略号? 【本版专题贴子】  
 1/2     1 2 ›› ›|
主题:文章列表标题的按长度截取后如何在后面添加省略号? [加入收藏夹]   

G_will
用户头衔:书生

精华贴   :0
发贴数   :8
经验值   :48
注册时间:2009-12-23
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
文章列表标题的按长度截取后如何在后面添加省略号?
文章列表标题的按长度截取后如何在后面添加省略号?

这是我写的一个调用标签,标题截取32个字符,可是很生硬,如何在截取的标题后面添加省略号?


[e:loop={'9',4,0,0}]
<li>
<p><?=date('Y/m/d',$bqr[newstime])?></p>
<a href="<?=$bqsr[titleurl]?>" title="<?=$bqr[title]?>"><?=esub($bqr[title],32)?></a>
</li>
[/e:loop]





2009-12-24 08:04:48 已设置保密 顶部 回复 引用 报告 编辑 删除

zeedy
用户头衔:版主

精华贴   :0
发贴数   :2288
经验值   :7394
注册时间:2007-05-29
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

<?=esub($bqr[title],32,'...')?>




2009-12-24 08:21:47 已设置保密 顶部 回复 引用 报告 编辑 删除

luring
用户头衔:探花

精华贴   :3
发贴数   :2303
经验值   :7179
注册时间:2007-02-12
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]




1
2009-12-24 10:18:27 已设置保密 顶部 回复 引用 报告 编辑 删除

jaony
用户头衔:举人

精华贴   :0
发贴数   :152
经验值   :715
注册时间:2007-03-06
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

感谢2楼的帮助




2011-11-21 06:34:35 已设置保密 顶部 回复 引用 报告 编辑 删除

wulei0411
用户头衔:书生

精华贴   :0
发贴数   :67
经验值   :172
注册时间:2011-09-30
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

帖子不错 顶个喜欢 了  



www.qht01.com去黑头收缩毛孔
www.wyifen.com淘宝网女装秋装

2011-11-21 06:38:55 已设置保密 顶部 回复 引用 报告 编辑 删除

shjjxiaosa
用户头衔:书生

精华贴   :0
发贴数   :40
经验值   :102
注册时间:2011-11-16
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

我只是路过。。。



舟山海鲜西湖龙井
2011-11-21 11:08:58 已设置保密 顶部 回复 引用 报告 编辑 删除

lghyt
用户头衔:进士

精华贴   :0
发贴数   :937
经验值   :3311
注册时间:2011-07-02
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

这么加不科学,最好是,当字符没有超过时不加省略号,当超过时加上
你这种不管超没越过全加上了
这个函数少写了一个判断,phpcms不是这么玩的

[该贴被修改 1 次,最后修改时间 2015-03-01 09:02:31 ]


第一次用的cms就是帝国,第二个学会的是phpcms,第三个就是干discuz!第四个就是玩shopNC
2015-03-01 08:48:35 已设置保密 顶部 回复 引用 报告 编辑 删除

英主
用户头衔:进士

精华贴   :0
发贴数   :782
经验值   :2281
注册时间:2009-03-12
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

支持版主




2015-03-01 08:52:23 已设置保密 顶部 回复 引用 报告 编辑 删除

html高手
用户头衔:探花

精华贴   :0
发贴数   :9114
经验值   :23336
注册时间:2008-02-23
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

原帖由 lghyt 于 2015-03-01 08:48:35 发表
这么加不科学,最好是,当字符没有超过时不加省略号,当超过时加上
你这种不管超没越过全加上了
这个函数少写了一个判断,phpcms不...

你不试就评论?




2015-03-02 08:26:20 已设置保密 顶部 回复 引用 报告 编辑 删除

lghyt
用户头衔:进士

精华贴   :0
发贴数   :937
经验值   :3311
注册时间:2011-07-02
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

原帖由 html高手 于 2015-03-02 08:26:20 发表

你不试就评论?

劝你试一下<?=esub($bqr[title],40,'...')?>

另附网上的解决方案:
帝国CMS万能标签标题截取后自动加入省略号,没有达到字数的则不加省略号完美解决方案
1.打开e/class/connect.php  搜索 if(!empty($subtitle))//截取字符  大约在2224行 在下面加入代码

if($r[title] != $r[oldtitle])   
          {   
                  $value=sub($value,0,$subtitle,false,'...');   
          }
修改后代码如下:

if(!empty($subtitle))//截取字符   
                {   
                                 if($r[title] != $r[oldtitle])   
                {   
                        $value=sub($value,0,$subtitle,false,'...');   
                }   
         
                }

2. 打开e/class/t_functions.php   搜索$r[oldtitle]=$r[title]; 大约在638行 在$r[oldtitle]=$r[title];下面加$r[title]=sub($r[title],0,$strlen,false); 代码如下:
while($r=$empire->fetch($sql))   
        {   
                $r[oldtitle]=$r[title];   
                //修改   
                $r[title]=sub($r[title],0,$strlen,false)

[该贴被修改 1 次,最后修改时间 2015-03-02 09:03:26 ]


第一次用的cms就是帝国,第二个学会的是phpcms,第三个就是干discuz!第四个就是玩shopNC
2015-03-02 08:54:44 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/2     1 2 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1