php中文截取字符串函数的实例教程

零下一度
Lepaskan: 2023-03-10 19:22:01
asal
1374 orang telah melayarinya

本节内容:
php中文截取字符窜函数

例子:

<?php
/**
* 中文
字符串截取
函数
* by www.jbxue.com
*/
function cut_str($string,$sublen,$filter=true,$start=0,$code=&#39;UTF-8&#39;){
 if($filter) $string=Html2Text($string);
 if($code==&#39;UTF-8&#39;){
   $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(&#39;&#39;,array_slice($t_string[0],$start,$sublen))."...";
  return join(&#39;&#39;,array_slice($t_string[0],$start,$sublen));
 }else{
  $start=$start*2;
  $sublen=$sublen*2;
  $strlen=strlen($string);
  $tmpstr=&#39;&#39;;
  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;
 }
}
//html转换函数
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

Atas ialah kandungan terperinci php中文截取字符串函数的实例教程. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!