在Common/function.php加上以下代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
/**
** 截取中文字符串
**/
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 ;
}
|
前端页面需要截取字符串时
1
|
{$v.title|msubstr=0,5}
|
/****************************案例****************************/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
//新闻列表
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();
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/yangzailu/p/6258865.html