时间:2021-07-01 10:21:17 帮助过:3人阅读
例子:
- <?php
- /**
- * 中文
- 字符串截取
- 函数
- * by www.jbxue.com
- */
- 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;
- }
- }
- //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;
- }
以上就是php中文截取字符串函数的实例教程的详细内容,更多请关注Gxl网其它相关文章!