(Joomla)字符串截取

  在用joomla进行开发的时候,需要用到国外的资源,一些module,组件,插件之类的,但是我们会发现,在字符串这个方法都需要进行修改。因为PHP的substr方法只是针对于非中文字符串有效,所以要使用另外一种简便容易的方法mb_substr,这样就能轻松解决截取字符的问题。

  同时如果需要针对中文,英文,中英文混合排列三种方式(标点符号除外)进行截取字符串,那么正则表达式就派上用场了,附上源码,仅供参考。

  

        /*截取字符串方法*/
	//$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);//匹配汉字,统计个数,返回给$arrc   	
		if(mb_strlen($str,'UTF8')<= $number){//'UTF8'跟据字符串的格式调整
			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').'...';
			}

		}
	}

  

作者: ForEvErNoME
出处: http://www.cnblogs.com/ForEvErNoME/
欢迎转载或分享,但请务必声明文章出处。如果文章对您有帮助,希望你能 推荐关注
 
 
原文地址:https://www.cnblogs.com/ForEvErNoME/p/2295268.html