帝国论坛帝国网站管理系统交流区帝国CMS使用交流请问如何截取内容简介的前10个汉字? 【本版专题贴子】  
 1/2     1 2 ›› ›|
主题:请问如何截取内容简介的前10个汉字? [加入收藏夹]   

hiyoyo
用户头衔:书生

精华贴   :0
发贴数   :72
经验值   :270
注册时间:2007-03-20
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
请问如何截取内容简介的前10个汉字?
请问如何截取内容简介的前10个汉字?

当时定义了内容简介为300个字符
可是在文章中要是都显示了又觉得太长,
怎样只截取内容简介的前10个汉字呢?




2008-04-11 17:03:59 已设置保密 顶部 回复 引用 报告 编辑 删除

amt
用户头衔:探花

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

单击“模板管理”》“管理列表模板”或“管理标签模板”,再单击[修改]操作按钮,进行修改:

上传以下图片:




EmpireCMS
2008-04-11 17:17:48 已设置保密 顶部 回复 引用 报告 编辑 删除

hiyoyo
用户头衔:书生

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

谢谢amt 啊,可我说的是在文章页面的截取啊...
不是列表页面.....




2008-04-11 17:20:09 已设置保密 顶部 回复 引用 报告 编辑 删除

wm_chief
用户头衔:管理员

精华贴   :21
发贴数   :48941
经验值   :114161
注册时间:2002-10-30
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

1、参数设置开启模板支持程序代码。

2、显示简介用下面代码:
<?php
echo sub($navinfor[smalltext],0,10,false);
?>


帝国扩展变量说明:http://www.phome.net/doc/ecmsedu/base/mbzz/html/other.html#q9



[零基础入门教程] [模板制作教程] [采集使用教程]
2008-04-11 17:24:59 已设置保密 顶部 回复 引用 报告 编辑 删除

hiyoyo
用户头衔:书生

精华贴   :0
发贴数   :72
经验值   :270
注册时间:2007-03-20
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]
function user_cnsubstr($str,$slen,$startdd=0){
我找了一个函数


function user_cnsubstr($str,$slen,$startdd=0){
        $restr = "";
        $c = "";
        $str_len = strlen($str);
        if($str_len < $startdd+1) return "";
        if($str_len < $startdd + $slen || $slen==0) $slen = $str_len - $startdd;
        $enddd = $startdd + $slen - 1;
        for($i=0;$i<$str_len;$i++)
        {
                if($startdd==0) $restr .= $c;
                else if($i > $startdd) $restr .= $c;
               
                if(ord($str[$i])>0x80){
                        if($str_len>$i+1) $c = $str[$i].$str[$i+1];
                        $i++;
                }
                else{        $c = $str[$i]; }

                if($i >= $enddd){
                        if(strlen($restr)+strlen($c)>$slen) break;
                        else{ $restr .= $c; break; }
                }
        }
        return $restr;
}



放到了userfun.php里面
然后在后台也设置好了

可就是调用不出来.....


[cnsubstr]123123,2[/cnsubstr]

[user_cnsubstr]123123,2[/user_cnsubstr]
调用后都是空...



[img][/img]



上传以下图片:





2008-04-11 17:26:41 已设置保密 顶部 回复 引用 报告 编辑 删除

hiyoyo
用户头衔:书生

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

刚才在写帖子,没有看到上面的
wm_chief 老大的回复...
原来这么简单就解决了啊
害得我还弄自定义函数呢....


不过这个自定义函数 哪里不对呢?奇怪了





2008-04-11 17:28:43 已设置保密 顶部 回复 引用 报告 编辑 删除

wm_chief
用户头衔:管理员

精华贴   :21
发贴数   :48941
经验值   :114161
注册时间:2002-10-30
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

你用自定义函数,用下面这样:
<?php
echo user_cnsubstr($navinfor[smalltext],10);
?>



[零基础入门教程] [模板制作教程] [采集使用教程]
2008-04-11 17:31:02 已设置保密 顶部 回复 引用 报告 编辑 删除

hiyoyo
用户头衔:书生

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

谢谢帝国老大
刚才实验了一下

<?php
echo sub($navinfor[smalltext],0,10,false);
?>

和我用的自定义函数
<?php
echo user_cnsubstr($navinfor[smalltext],10);
?>
都可以截取
但是后者cn_substr截取后偶尔会出现乱码

BTW:cnsubstr这个函数我是从dede里弄出来的




2008-04-11 17:46:12 已设置保密 顶部 回复 引用 报告 编辑 删除

shxueshan
用户头衔:书生

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




www.nj210000.info www.b-jsz.com
2012-07-03 23:23:15 已设置保密 顶部 回复 引用 报告 编辑 删除

爱笑话
用户头衔:书生

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

300个肯定太长了啊,搞个20来个就差不多了!!



塑胶原料www.haokunsj.com
笑话www.lovejoke.net
2012-08-24 17:31:42 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/2     1 2 ›› ›|

快速回复
内容

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