一个很好的中文截取字符窜函数
Jun 06, 2016 pm 07:32 PM无详细内容 无 源码与演示: 源码出处演示出处 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; }

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Petua untuk mencipta fungsi baharu secara dinamik dalam fungsi golang

Pertimbangan untuk susunan parameter dalam penamaan fungsi C++

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

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

Apakah faedah fungsi C++ mengembalikan jenis rujukan?

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

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