本文實(shí)例講述了Joomla框架實(shí)現(xiàn)字符串截取的方法。分享給大家供大家參考,具體如下:
在用joomla進(jìn)行開發(fā)的時(shí)候,需要用到國外的資源,一些module,組件,插件之類的,但是我們會發(fā)現(xiàn),在字符串這個(gè)方法都需要進(jìn)行修改。因?yàn)镻HP的substr方法只是針對于非中文字符串有效,所以要使用另外一種簡便容易的方法mb_substr,這樣就能輕松解決截取字符的問題。
同時(shí)如果需要針對中文,英文,中英文混合排列三種方式(標(biāo)點(diǎn)符號除外)進(jìn)行截取字符串,那么正則表達(dá)式就派上用場了,附上源碼,僅供參考。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
/*截取字符串方法*/ //$str字符串 //$number為最大長度 function cutStrTitle( $str , $number ){ $str = strip_tags ( $str ); $en =preg_match( '/^[a-zA-Z]/' , $str ); //匹配英文字母 $cn =preg_match_all( "/([\x{4e00}-\x{9fa5}]){1}/u" , $str , $arrc ); //匹配漢字,統(tǒng)計(jì)個(gè)數(shù),返回給$arrc if (mb_strlen( $str , 'UTF8' )<= $number ){ //'UTF8'跟據(jù)字符串的格式調(diào)整 return $str ; } else { if ( $en ) { if ( $cn ){ //中英文混合情況下 return mb_substr( $str ,0, $number +2, 'utf-8' ). '...' ; } else { //全為英文情況下 return mb_substr( $str ,0, $number +4, 'utf-8' ). '...' ; } } else { //全為中文情況下 return mb_substr( $str ,0, $number , 'utf-8' ). '...' ; } } } |
希望本文所述對大家PHP框架程序設(shè)計(jì)有所幫助。