本节内容:
php中文截取字符窜函数
例子:
<?php
/**
* 中文字符串截取函数
* by www.jb200.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中文字符串截取的四个函数
php中文支持函数 php中文截取字符串函数 PHP中文字符串翻转
php中文字符截取函数(自用)
php 截取指定长度字符串的代码分享
php中文截取字符串mb_substr的用法
php字符串截取substr函数简介
php中substr字符串截取函数实例详解
php中substr字符串截取函数的用法示例
php截取中文的函数utf_substr
支持中文的php字符串截取函数实例
php截取中文字符串的二个函数(iconv_substr和mb_substr)
php 字符串截取函数(可以自动清除网页标签)
php中文字符串截取函数支持多种编码
四个php中文字符串截取函数
php中文字符串截取 php截取中文字符串的代码
php中文字符串截取 php截取中文字符串的函数
php中文字符串截取(mb_substr)实例
php计算中文字符串长度、截取中文字符串的函数
截取中文字符的函数-csubstr
PHP中文字符串截取函数