php摘要生成函数的介绍
来源:爱站网时间:2020-06-01编辑:网友分享
之前爱站小编也写过关于php摘要生成的方法,但是有很多用户们觉得并说不说很好用,而且容易出现乱码,那么今天爱站小编就将为大家分享php摘要生成函数的介绍,希望能给大家解决问题。
之前爱站小编也写过关于php摘要生成的方法,但是有很多用户们觉得并说不说很好用,而且容易出现乱码,那么今天爱站小编就将为大家分享php摘要生成函数的介绍,希望能给大家解决问题。
在使用的时候,得先把要生成摘要的内容strip_tags()一下,当然,你也可以把strip_tags()直接添加到函数中,我没有搞,自己添加吧。下面是函数:
复制代码 代码如下:
function cutstr($string, $length,$charset,$dot) {//字符,截取长度,字符集,结尾符
if(strlen($string) return $string;
}
$pre = chr(1);
$end = chr(1);
//保护特殊字符串
$string = str_replace(array('&', '"', ''), array($pre.'&'.$end, $pre.'"'.$end, $pre.''.$end), $string);
$strcut = '';
if(strtolower($charset) == 'utf-8') {
$n = $tn = $noc = 0;
while($n $t = ord($string[$n]);
if($t == 9 || $t == 10 || (32 $tn = 1; $n++; $noc++;
} elseif(194 $tn = 2; $n += 2; $noc += 2;
} elseif(224 $tn = 3; $n += 3; $noc += 2;
} elseif(240 $tn = 4; $n += 4; $noc += 2;
} elseif(248 $tn = 5; $n += 5; $noc += 2;
} elseif($t == 252 || $t == 253) {
$tn = 6; $n += 6; $noc += 2;
} else {
$n++;
}
if($noc >= $length) {
break;
}
}
if($noc > $length) {
$n -= $tn;
}
$strcut = substr($string, 0, $n);
} else {
for($i = 0; $i $strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
}
}
//还原特殊字符串
$strcut = str_replace(array($pre.'&'.$end, $pre.'"'.$end, $pre.''.$end), array('&', '"', ''), $strcut);
//修复出现特殊字符串截段的问题
$pos = strrpos($s, chr(1));
if($pos !== false) {
$strcut = substr($s,0,$pos);
}
return $strcut.$dot;
}
本文的主要内容就是php摘要生成函数的介绍,如果有对这些技巧不熟悉的用户可以锁定我们爱站技术频道的其他教程,希望对你有所帮助哦。