Home >Backend Development >PHP Tutorial >Detailed explanation of the interception string function of ThinkPHP template substr
ThinkPHP template substr interception string function
Add the following code to Common/function.php
/** ** 截取中文字符串 **/ function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true){ if(function_exists("mb_substr")){ $slice= mb_substr($str, $start, $length, $charset); }elseif(function_exists('iconv_substr')) { $slice= iconv_substr($str,$start,$length,$charset); }else{ $re['utf-8'] = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/"; $re['gb2312'] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/"; $re['gbk'] = "/[x01-x7f]|[x81-xfe][x40-xfe]/"; $re['big5'] = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/"; preg_match_all($re[$charset], $str, $match); $slice = join("",array_slice($match[0], $start, $length)); } $fix=''; if(strlen($slice) < strlen($str)){ $fix='...'; } return $suffix ? $slice.$fix : $slice; }
When the front-end page needs to intercept the string
{$v.title|msubstr=0,5}
/*****************************Case************************ *****/
//新闻列表 public function NewsList(){ $this->assign('title','news'); $p = I('page',1); $listRows = 10; $News = M('news'); $info = $News->field('id,title,subtitle,publish_date,img,content')->where(array('type'=>'news','status'=>'1'))->order('flag desc,sort_no desc')->page($p,$listRows)->select(); $this->assign('news',$info); $count = $News->where(array('type'=>'news','status'=>'1'))->count(); $Page = new Page($count,$listRows); $show = $Page->show(); $this->assign('page',$show); //var_dump($info); $this->display(); }##The above is the entire content of this article, I hope it will be helpful to everyone’s study, I also hope that everyone will support the PHP Chinese website. For more detailed explanations of the interception string function of ThinkPHP template substr, please pay attention to the PHP Chinese website!