thinkPHP內(nèi)置字符串截取函數(shù)用法詳解
本文實(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)文章
析構(gòu)函數(shù)與php的垃圾回收機(jī)制詳解
在PHP中,沒(méi)有任何變量指向這個(gè)對(duì)象時(shí),這個(gè)對(duì)象就成為垃圾。PHP會(huì)將其在內(nèi)存中銷毀。這是PHP的GC(Garbage Collector)垃圾處理機(jī)制,防止內(nèi)存溢出2013-10-10ThinkPHP無(wú)限級(jí)分類原理實(shí)現(xiàn)留言與回復(fù)功能實(shí)例
這篇文章主要介紹了ThinkPHP無(wú)限級(jí)分類原理實(shí)現(xiàn)留言與回復(fù)功能實(shí)例,并附帶有完整的項(xiàng)目源碼下載供大家學(xué)習(xí)參考,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10Laravel 5.5 異常處理 & 錯(cuò)誤日志的解決
今天小編就為大家分享一篇Laravel 5.5 異常處理 & 錯(cuò)誤日志的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10微信小程序 消息推送php服務(wù)器驗(yàn)證實(shí)例詳解
這篇文章主要介紹了微信小程序 消息推送php服務(wù)器驗(yàn)證實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03Thinkphp框架+Layui實(shí)現(xiàn)圖片/文件上傳功能分析
這篇文章主要介紹了Thinkphp框架+Layui實(shí)現(xiàn)圖片/文件上傳功能,結(jié)合實(shí)例形式詳細(xì)分析了Thinkphp+Layui實(shí)現(xiàn)圖片文件上傳的具體步驟、原理與相關(guān)操作技巧,需要的朋友可以參考下2020-02-02php 遍歷目錄,生成目錄下每個(gè)文件的md5值并寫入到結(jié)果文件中
本文章向大家介紹php遍歷目錄,生成目錄下每個(gè)文件的md5值并寫入到結(jié)果文件中,需要的朋友可以參考下2016-12-12PHP水印類,支持添加圖片、文字、填充顏色區(qū)域的實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇PHP水印類,支持添加圖片、文字、填充顏色區(qū)域的實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02