欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

thinkPHP內(nèi)置字符串截取函數(shù)用法詳解

 更新時(shí)間:2016年11月15日 09:15:33   作者:陳達(dá)輝  
這篇文章主要介紹了thinkPHP內(nèi)置字符串截取函數(shù)用法,結(jié)合實(shí)例形式分析了thinkPHP內(nèi)置的字符串截取函數(shù)功能與具體使用方法,以及針對(duì)無(wú)法添加省略號(hào)的源碼修改技巧,需要的朋友可以參考下

本文實(shí)例講述了thinkPHP內(nèi)置字符串截取函數(shù)用法。分享給大家供大家參考,具體如下:

thinkphp內(nèi)置了一個(gè)可以媲美smarty的模板引擎,給我們帶來(lái)了很大的方便。調(diào)用函數(shù)也一樣,可以和smarty一樣調(diào)用自己需要的函數(shù),而官方也內(nèi)置了一些常用的函數(shù)供大家調(diào)用。

比如今天我們說(shuō)的截取字符串函數(shù),在thinkphp模板引擎里可以這樣寫:{$vo.title|msubstr=0,5,'utf-8′,false} 至于{$vo.title}這個(gè)大家肯定不陌生了。就說(shuō)說(shuō)后邊的函數(shù)msubstr吧。它代表的意思是截取字符串$vo.title,從0個(gè)字符開(kāi)始截取,截取5個(gè)字符。使用的是utf-8編碼,默認(rèn)截取后不顯示省略號(hào),如果要顯示省略號(hào),直接把false改成true就可以啦。

函數(shù)解釋:

msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)

參數(shù)功能:

$str:要截取的字符串
$start=0:開(kāi)始位置,默認(rèn)從0開(kāi)始
$length:截取長(zhǎng)度
$charset="utf-8":字符編碼,默認(rèn)UTF-8
$suffix=true:是否在截取后的字符后面顯示省略號(hào),默認(rèn)true顯示,false為不顯示

ps:如果不能正常調(diào)用,那說(shuō)明你沒(méi)有加載函數(shù)庫(kù),可以使用 Load('extend');來(lái)加載函數(shù),把它放到action中就可以啦~!

經(jīng)試用:官方的msubstr函數(shù)好像無(wú)論如何也加不上省略號(hào),官網(wǎng)論壇上找了一個(gè)修改方法,經(jīng)測(cè)試可以正常使用~!

修改Common\extend.php文件的msubstr函數(shù)為如下代碼即可:

function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)
{
  if(function_exists("mb_substr")){
    if($suffix)
       return mb_substr($str, $start, $length, $charset)."...";
    else
       return mb_substr($str, $start, $length, $charset);
  }
  elseif(function_exists('iconv_substr')) {
    if($suffix)
       return iconv_substr($str,$start,$length,$charset)."...";
    else
       return iconv_substr($str,$start,$length,$charset);
  }
  $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));
  if($suffix) return $slice."…";
  return $slice;
}

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《smarty模板入門基礎(chǔ)教程》及《PHP模板技術(shù)總結(jié)》。

希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論