在用joomla進(jìn)行開發(fā)的時(shí)候,需要用到國(guó)外的資源,一些module,組件,插件之類的,但是我們會(huì)發(fā)現(xiàn),在字符串這個(gè)方法都需要進(jìn)行修改。因?yàn)镻HP的substr方法只是針對(duì)于非中文字符串有效,所以要使用另外一種簡(jiǎn)便容易的方法mb_substr,這樣就能輕松解決截取字符的問(wèn)題。
同時(shí)如果需要針對(duì)中文,英文,中英文混合排列三種方式(標(biāo)點(diǎn)符號(hào)除外)進(jìn)行截取字符串,那么正則表達(dá)式就派上用場(chǎng)了,附上源碼,僅供參考。
/*截取字符串方法*///$str字符串//$number為最大長(zhǎng)度f(wàn)unction 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').'...';}}}
新聞熱點(diǎn)
疑難解答
圖片精選