首頁  >  文章  >  後端開發  >  ThinkPHP中截断指定长度的中文字符串后用删节号代替

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

WBOY
WBOY原創
2016-06-13 12:55:37950瀏覽

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

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

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

<php>$title = {$content['title']}</php>

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

//显示效果


参考文章:点击打开链接

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

//放在Common文件夹下common.php中的获取中文字符串的方法
<pre name="code" class="php">function abslength($str){   
       $len=strlen($str);   
       $i=0; $j=0;  
       while($i//注意TP中的编码都是utf-8,所以+3;如果是GBK改为+2 
              }   
              else  
              {   
               $i+=1;   
             }   
          $j++;
       }
       return $j;
   } 
<pre class="brush:php;toolbar:false">

//模板中的部分代码



                    
  • 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']}

    <pre class="brush:php;toolbar:false">
    <pre class="brush:php;toolbar:false"> <pre class="brush:php;toolbar:false"> <pre class="brush:php;toolbar:false"> <pre class="brush:php;toolbar:false"> <pre class="brush:php;toolbar:false"> <pre class="brush:php;toolbar:false"> <pre class="brush:php;toolbar:false"> <pre class="brush:php;toolbar:false"> <pre class="brush:php;toolbar:false"> <pre class="brush:php;toolbar:false">
    陳述:
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn