Maison > Article > développement back-end > Explication détaillée de la fonction de chaîne d'interception du modèle ThinkPHP substr
Fonction de chaîne d'interception de substr de modèle ThinkPHP
Ajoutez le code suivant à 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; }
Lorsque la page frontale doit intercepter des chaînes
{$v.title|msubstr=0,5}
/*****************************Cas********************** ** *****/
//新闻列表 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(); }
Ce qui précède représente l'intégralité du contenu de cet article , J'espère que cela sera utile à tout le monde. L'apprentissage est utile et j'espère que tout le monde soutiendra le site Web PHP chinois.
Pour des explications plus détaillées sur la fonction de chaîne d'interception du modèle ThinkPHP substr, veuillez faire attention au site Web PHP chinois !