Maison  >  Article  >  développement back-end  >  Explication détaillée de la fonction de chaîne d'interception du modèle ThinkPHP substr

Explication détaillée de la fonction de chaîne d'interception du modèle ThinkPHP substr

高洛峰
高洛峰original
2017-01-11 10:52:031483parcourir

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=&#39;...&#39;;
 }
 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(&#39;title&#39;,&#39;news&#39;);
 $p = I(&#39;page&#39;,1);
 $listRows = 10;
 $News = M(&#39;news&#39;);
 $info = $News->field(&#39;id,title,subtitle,publish_date,img,content&#39;)->where(array(&#39;type&#39;=>&#39;news&#39;,&#39;status&#39;=>&#39;1&#39;))->order(&#39;flag desc,sort_no desc&#39;)->page($p,$listRows)->select();
 $this->assign(&#39;news&#39;,$info);
 $count = $News->where(array(&#39;type&#39;=>&#39;news&#39;,&#39;status&#39;=>&#39;1&#39;))->count();
 $Page = new Page($count,$listRows);
 $show = $Page->show();
 $this->assign(&#39;page&#39;,$show);
 //var_dump($info);
 $this->display();
 }

ThinkPHP 模板substr的截取字符串函数详解

ThinkPHP 模板substr的截取字符串函数详解

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 !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn