HBcms特点:无技术门槛,简单,易用,美观,实用。上万元的建站系统超低价立刻拥有! 繁體顯示

功能列表(图)  -  源码下载 (简体,繁体,英文)  功能介绍 - 免费试用  -  会员中心 
 
你的位置:HBcms宏博内容管理系统 模板设计 正文
会员登陆 - 免费注册 - 收藏本站 - 文章投稿 - RSS
模板设计
  1. 留言板
内容搜索
热门内容
  1. 几套推荐的HBcms模板下..
  2. 如何修改模板文件?怎..
  3. Smarty模板插件下载,..
  4. HBcms的模板语言是自己..
  5. smarty官方文档下载
  6. 模板变量说明,如何制..
  7. HBcms的Smarty模板结构..
  8. 做模板的基础:掌握基..
  9. 如何在模板里加上会员..
  10. 吐血推荐让流量暴涨的..
推荐内容
  1. 如何修改模板文件?怎..
  2. HBcms的模板语言是自己..
  3. 修改添加留言表单的外..
  4. 如何设计一个漂亮的公..
  5. 为留言板内容录入框增..
  6. 会员查看自己的留言列..
  7. 会员查看自己的留言详..
  8. 让导航条里的外部链接..
  9. 产品或图片频道如何自..
  10. 随机显示栏目文章的首..
宏博cms简介

cms特点:
简单,易用,美观,实用

HBcms产品使用版权:
个人非商业用途,完全免费!

 如要提出意见或建议,或者
有问题需要咨询,请访问
技术支持论坛
HBcms模板中如何限定标题文字长度
  • 原作者:hbcms 添加时间:2024-12-23 发表时间:2006-07-30 人气:6434

  •  
    Smarty模板制作和交流

  • hbcms模板应用增加了截取函数 cn_truncate

    函数目的:
    1。在模板中直接截取中文字符
    2。可保留原来的字符串style,如 font 等


    用法:
    cn_truncate 用法大致同官方的 truncate 函数,如下:

    <{$item_info.title|cn_truncate:18:"...":true}>

    第1个参数 18 表示截取 18 个汉字

    第2个参数 ... 表示,如果多余18个汉字,则显示 ...

    第3个参数 true 表示保留文字的初始颜色。 false 表示去掉颜色。

    已知的BUG:
    只做到了保留第一个style,而且有BUG(可查考源代码),请高手完善。

    本函数的最新完善版本可在  http://hbcms.com/cms/template/    中下载


    源代码如下:

    CODE:
    <?php
    /**
     * Smarty plugin
     * @package Smarty
     * @subpackage plugins
     */


    /**
     * Smarty truncate modifier plugin
     *
     * Type:     modifier<br>
     * Name:     truncate<br>
     * Purpose:  Truncate a string to a certain length if necessary,
     *           optionally splitting in the middle of a word, and
     *           appending the $etc string or inserting $etc into the middle.
     * @link     http://www.hbcms.com/
     * @author   http://www.hbcms.com/
     * @param string
     * @param integer
     * @param string
     * @param boolean $keep_first_style 是否保留第一个style
     * @return string

     * $keep_first_style 理解范例:

    $s = '<A HREF="http://www.hbcms.com/"><FONT COLOR="red"><U><B>宏博<U>内容</U>管<B>理</B>系 &nbsp;统&nbsp;
    <P>
    <FONT SIZE="2" COLOR="blue">HBCMS</FONT> 是一个可以免费使用的内容管理系统,您甚至可以用<A HREF="http://www.hbcms.com/">她来做商业网站</A>。点这里查看详细版权说明

    <BR>&nbsp;<BR>
    是否有错误
    <HR>
    已知bug,截取:<FONT SIZE="2" COLOR="blue">乌木乌木乌<U>木乌木</U>乌木乌木乌木乌木乌木</font>有异常
    <P>
    希望大家改善</B></U></FONT></A>';
    echo $s . '<hr><HR><HR>smarty_modifier_cn_truncate:<HR>';
    echo smarty_modifier_cn_truncate($s,30,'。。。',1);
    exit();
     */

    function smarty_modifier_cn_truncate($string$strlen 20$etc '...',
                                      
    $keep_first_style false)
    {
        
    $strlen $strlen*2;
        
    $string trim($string);
        if ( 
    strlen($string) <= $strlen )    {
            return 
    $string;
        }
        
    $str strip_tags($string);
        
    $j 0;
        for(
    $i=0;$i<$strlen;$i++) {
          if(
    ord(substr($str,$i,1))>0xa0$j++; 
        }
        if(
    $j%2!=0$strlen++; 
        
    $rstr=substr($str,0,$strlen);
        if (
    strlen($str)>$strlen  ) {$rstr .= $etc;} 

        if ( 
    $keep_first_style == true && ereg('^<(.*)>$',$string) )    {
            if ( 
    strlen($str) <= $strlen )    {
                return 
    $string;
            }
            
    $start_pos strpos($string,substr($str,0,4));
            
    $end_pos strpos($string,substr($str,-4));
            
    $end_pos $end_pos+4;
            
    $rstr substr($string,0,$start_pos) . $rstr substr($string,$end_pos,strlen($string));
        }

        return 
    $rstr

    }

    /* vim: set expandtab: */

    ?>

     

    官方的函数是 truncate ,可惜只支持单字节的英文字符,用法如下:

    Example 5-20. truncate

        
    $smarty
    = new Smarty
    ;
    $smarty->assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.'
    );
    $smarty->display('index.tpl'
    );

    ?>

    where index.tpl is:

    {$articleTitle}
    {$articleTitle|truncate}
    {$articleTitle|truncate:30}
    {$articleTitle|truncate:30:""}
    {$articleTitle|truncate:30:"---"}
    {$articleTitle|truncate:30:"":true}
    {$articleTitle|truncate:30:"...":true}

    This will output:

    Two Sisters Reunite after Eighteen Years at Checkout Counter.
    Two Sisters Reunite after Eighteen Years at Checkout Counter.
    Two Sisters Reunite after...
    Two Sisters Reunite after
    Two Sisters Reunite after---
    Two Sisters Reunite after Eigh
    Two Sisters Reunite after E...

     

     

  • 点这里复制本页地址发送给您QQ/MSN上的好友
  • 购买官方高级技术支持,做网站无后顾之忧!

    购买高级技术支持,一步一步的教您做网站!

  • 相关文章
  • 相关评论
    • 2007-06-10评论人:jones
    • very good!
    • 评论人:
      评论内容:
  • 本文章所属分类:首页 模板设计

企业建站套餐

企业型套餐

产品展示型,3800元起

付款后1天内开通网站

空间:3000MB专业服务器

后台:宏博自助建站系统

模板:7千多套企业模板任选

升级:含官方免费升级服务

企业型套餐

企业标准套餐,3800元起

10个工作日内做好

空间:2G-4G,超大网页空间

无忧:含高级技术支持无后患

模板:行业网站模板定制

内容:免费帮您录入部分内容

对象:适合企事业单位网站

HBcms基本功能介绍
关于我们 - 联系我们 - 版权声明 - 帮助中心 - 公司地址 - 登陆注册 - 招聘信息

HBcms宏博内容管理系统是一个极专业的自助建站系统,让你快速搭建自己的网站! 上万元的建站系统超低价立刻拥有!!

本站所有内容,都是由HBcms自助建站系统生成,使用HBcms,您能立刻拥有和本站相同功能的网站

建站流程:1. 电话或QQ咨询   2.选择套餐类型   3.付款   4.开通域名和网站(1个工作日内)
付款方式:1.公司账户对公司账户的银行电汇   2.个人账户对个人账户银行电汇   3.网上银行在线支付
销售咨询:企业QQ:  706254384(周一到周五9:00-18:00)  电子邮件: support@hbcms.com
宏博内容管理系统(宏博cms、HBcms)   ©   2003-2010   宏博内容管理系统 
 
销售咨询: 企业QQ:  706254384   邮箱:service@hbcms.com  地址:广东省深圳市福田区东风大厦9楼

宏博内容管理系统 ©   2003-2023   粤ICP备08009046号