Rumah php教程 php手册 一个很好的中文截取字符窜函数

一个很好的中文截取字符窜函数

Jun 06, 2016 pm 07:32 PM
cina kandungan fungsi watak memintas Kod sumber Demo terperinci

无详细内容 无 源码与演示: 源码出处演示出处 function cut_str($string,$sublen,$filter=true,$start=0,$code='UTF-8'){if($filter) $string=Html2Text($string);if($code=='UTF-8'){$pa="/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[

源码与演示:源码出处 演示出处

function cut_str($string,$sublen,$filter=true,$start=0,$code='UTF-8'){
	if($filter) $string=Html2Text($string);
	if($code=='UTF-8'){
		$pa="/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
		preg_match_all($pa,$string,$t_string);
		if(count($t_string[0])-$start>$sublen) return join('',array_slice($t_string[0],$start,$sublen))."...";
		return join('',array_slice($t_string[0],$start,$sublen));
	}else{
		$start=$start*2;
		$sublen=$sublen*2;
		$strlen=strlen($string);
		$tmpstr='';
		for($i=0;$i<$strlen;$i++){
			if($i>=$start&&$i<($start+$sublen)){
				if(ord(substr($string,$i,1))>129){
					$tmpstr.=substr($string,$i,2);
				}else{
					$tmpstr.=substr($string,$i,1);
				}
			}
			if(ord(substr($string,$i,1))>129) $i++;
		}
		if(strlen($tmpstr)<$strlen ) $tmpstr.="...";
		return $tmpstr;
	}
}
function Html2Text($str){
	$str = preg_replace("/<sty(.*)\\/style>|<scr(.*)\\/script>|<!--(.*)-->/isU","",$str);
	$alltext = "";
	$start = 1;
	for($i=0;$i<strlen($str);$i++){
		if($start==0 && $str[$i]==">"){
			$start = 1;
		}else if($start==1){
			if($str[$i]=="<"){
				$start = 0;
				$alltext .= " ";
			}else if(ord($str[$i])>31){
				$alltext .= $str[$i];
			}
		}
	}
	$alltext = str_replace(" "," ",$alltext);
	$alltext = preg_replace("/&([^;&]*)(;|&)/","",$alltext);
	$alltext = preg_replace("/[ ]+/s"," ",$alltext);
	return $alltext;
}
Salin selepas log masuk
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Petua untuk mencipta fungsi baharu secara dinamik dalam fungsi golang Petua untuk mencipta fungsi baharu secara dinamik dalam fungsi golang Apr 25, 2024 pm 02:39 PM

Petua untuk mencipta fungsi baharu secara dinamik dalam fungsi golang

Pertimbangan untuk susunan parameter dalam penamaan fungsi C++ Pertimbangan untuk susunan parameter dalam penamaan fungsi C++ Apr 24, 2024 pm 04:21 PM

Pertimbangan untuk susunan parameter dalam penamaan fungsi C++

Bagaimana untuk menulis fungsi yang cekap dan boleh diselenggara di Jawa? Bagaimana untuk menulis fungsi yang cekap dan boleh diselenggara di Jawa? Apr 24, 2024 am 11:33 AM

Bagaimana untuk menulis fungsi yang cekap dan boleh diselenggara di Jawa?

Perbandingan kelebihan dan kekurangan parameter lalai fungsi C++ dan parameter pembolehubah Perbandingan kelebihan dan kekurangan parameter lalai fungsi C++ dan parameter pembolehubah Apr 21, 2024 am 10:21 AM

Perbandingan kelebihan dan kekurangan parameter lalai fungsi C++ dan parameter pembolehubah

Koleksi lengkap formula fungsi excel Koleksi lengkap formula fungsi excel May 07, 2024 pm 12:04 PM

Koleksi lengkap formula fungsi excel

Apakah faedah fungsi C++ mengembalikan jenis rujukan? Apakah faedah fungsi C++ mengembalikan jenis rujukan? Apr 20, 2024 pm 09:12 PM

Apakah faedah fungsi C++ mengembalikan jenis rujukan?

Penggunaan lanjutan parameter rujukan dan parameter penunjuk dalam fungsi C++ Penggunaan lanjutan parameter rujukan dan parameter penunjuk dalam fungsi C++ Apr 21, 2024 am 09:39 AM

Penggunaan lanjutan parameter rujukan dan parameter penunjuk dalam fungsi C++

Apakah perbezaan antara fungsi PHP tersuai dan fungsi yang telah ditetapkan? Apakah perbezaan antara fungsi PHP tersuai dan fungsi yang telah ditetapkan? Apr 22, 2024 pm 02:21 PM

Apakah perbezaan antara fungsi PHP tersuai dan fungsi yang telah ditetapkan?

See all articles