>php教程 >PHP源码 >PHP中文字符串截取函数 - 开源中国社区

PHP中文字符串截取函数 - 开源中国社区

PHP中文网
PHP中文网원래의
2016-05-20 12:56:301513검색

跳至

	/**
	 * 中文字符串截取
	 * @param $str
	 * @param int $start @起始位置
	 * @param $length @截取长度
	 * @param string $ending @结尾符
	 * @return string
	 */
	private static function stringSubstr($str, $start=0, $length, $ending=''){
		//$str =  html_entity_decode($str); //实体字符转为html
		$str = trim(strip_tags($str)); //去除html字符
		$str = preg_replace("/\s| | /", "", $str);
		$mb_str = mb_substr($str, $start, $length, 'utf-8');
		if($length < method::abslength($str)){
			$output = $mb_str.$ending;
		}else{
			$output = $mb_str;
		}
		return $output;
	}

	/**
	 * 可以统计中文字符串长度的函数
	 * @param $str @要计算长度的字符串
	 * @return int @计算长度类型,0(默认)表示一个中文算一个字符,1表示一个中文算两个字符
	 */
	private static function abslength($str){
		if(empty($str)){
			return 0;
		}

		if(function_exists(&#39;mb_strlen&#39;)){
			return mb_strlen($str,&#39;utf-8&#39;);
		} else {
			preg_match_all("/./u", $str, $ar);
			return count($ar[0]);
		}
	}

                   

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.