PHP头条
热点:

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


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

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    www.phpzy.comtrue/phprm/14514.htmlTechArticleThinkPHP中截断指定长度的中文字符串后用删节号代替 ThinkPHP中截断指定长度的中文字符串后用省略号代替 在TP模板中获取字符串并截断,以前一直觉得很神奇,现在才知道是自己不懂。...

    相关文章

    相关频道:

    PHP之友评论

    今天推荐