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

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

PHP中文网
PHP中文网Original
2016-05-20 12:56:301495Durchsuche

跳至

	/**
	 * 中文字符串截取
	 * @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]);
		}
	}

                   

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn