PHP过滤HTML标签截取部分内容
直接上代码
使用函数
strip_tags(): 函数剥去字符串中的 HTML、XML 以及 PHP 的标签
注意开启 mbstring扩展 ,使用了 mb_substr()函数
//用strip_tags能把Html标签都去掉,然后调用truncate函数
function truncate($string,$length,$append = true){
$string = trim($string);
$strlength = strlen($string);
if ($length == 0 || $length >= $strlength){
return $string;
}elseif ($length < 0){
$length = $strlength + $length;
if ($length < 0)
{
$length = $strlength;
}
}
if (function_exists('mb_substr')){
$newstr = mb_substr($string, 0, $length,"UTF-8");
}elseif (function_exists('iconv_substr')){
$newstr = iconv_substr($string, 0, $length,"UTF-8");
}else{
for($i=0;$i<$length;$i++){
$tempstring=substr($string,0,1);
if(ord($tempstring)>127){
$i++;
if($i<$length){
$newstring[]=substr($string,0,3);
$string=substr($string,3);
}
}else{
$newstring[]=substr($string,0,1);
$string=substr($string,1);
}
}
$newstr =join($newstring);
}
if ($append && $string != $newstr){
$newstr .= '...';
}
return $newstr;
}
$str='<span>fdsfssdfa对手的防守啊打发士大夫阿斯蒂芬阿斯蒂芬df</span><a href="#">href</a>啊啊<img src="image/phone.png" alt="小明">';
echo truncate(strip_tags($str),21); die;
//输出结果 fdsfssdfa对手的防守啊打发士大夫阿...