• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

ThinkPHP中截断指定长度的中文字符串后用删节号代替

php 搞代码 3年前 (2022-01-24) 22次浏览 已收录 0个评论

ThinkPHP中截断指定长度的中文字符串后用省略号代替

在TP模板中获取字符串并截断,以前一直觉得很神奇,现在才知道是自己不懂。

开始不是很了解模板中可以直接调用方法,以为$this->assign(‘content’,$res);指派后只能在模板中这样接受{$content},于是写各种原生PHP语句无效

$title = {$content['title']}

后来高手指点才知道在标签中不需要{}也就是

//显示效果

参考文章:点击打开链接

$title = $content['title']
于是终于拨开乌云见日开了

//放在Common文件夹下common.php中的获取中文字符串的方法
function abslength($str){          $len=strlen($str);          $i=0; $j=0来&源gao@dai!ma.com搞$代^码%网搞gaodaima代码;         while($i<$len)          {                if(preg_match("/^[".chr(0xa1)."-".chr(0xf9)."]+$/",$str[$i]))                {                  $i+=3;  //注意TP中的编码都是utf-8,所以+3;如果是GBK改为+2               }                 else                {                  $i+=1;                }             $j++;       }       return $j;   } 

//模板中的部分代码

  • echo substr('abc',0,2).'...'; $title = $content['title']; $length = abslength($title); if ($length>6) { {$content['title'] | String::msubstr=0,5,'utf-8',true} //参考的是底部的连接 } else { echo $content['title']; }
  • {$content['time']}
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
    转载请注明原文链接:ThinkPHP中截断指定长度的中文字符串后用删节号代替

    喜欢 (0)
    [搞代码]
    分享 (0)
    发表我的评论
    取消评论

    表情 贴图 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址