php截取字符串以及去掉html标记
发布网友
发布时间:2022-04-22 06:53
我来回答
共4个回答
热心网友
时间:2022-04-06 06:10
第一个很简单,就用你提供这个函数就可以。
不过第二个没有函数能执行。因为如果是英文字符应该占用1位,但中文不一样,utf8的一个汉字占用3个字符,这样如果出现中英文一起的情况就会出现乱码。必须自定义函数解决,下面给你一个简单的
<?php
function chinesesubstr($str,$start,$len) {//$str是指字符串,$start指字符串的起始位置,$len指字符串长度
$strlen=$start+$len; //用$strlen存储字符串的总长度
for($i=0;$i<$strlen;$i++) {
if(ord(substr($str,$i,1))>0xa0) { //如果字符串中出现汉字,也就是ASC码大于0xa0的。作出判断与英文字符不一样。
$tmpstr.=substr($str,$i,2);
$i++;
}
else
$tmpstr.=substr($str,$i,1);
}
return $tmpstr;
}
?>
热心网友
时间:2022-04-06 07:28
$str="带html的字符串";
$str2=strip_tags($str);
echo $str2; //已经去掉html 标
签
热心网友
时间:2022-04-06 09:03
<?php
$blog="<div style=\"line-height:19px;font-size:14px;\"><a href=\"http://news.baidu.com/\">新闻</a><a href=\"http://www.baidu.com/\">精品网页</a><a href=\"http://tieba.baidu.com/\">贴吧</a><strong>知道</strong>";
$blog=strip_tags($blog);
echo $blog."<br />";
if (strlen($blog)>20)
{
echo substr($blog,0,20)."……";
}
else
{
echo $blog;
}
?>
热心网友
时间:2022-04-06 10:54
$str = preg_replace("/<[a-zA-Z][^>^\/]*\/>/", "", $str);
$str = preg_replace("/<[a-zA-Z][^>]*>/", "", $str);
$str = preg_replace("/<\/[^>]+>/", "", $str);
$str = trim($str);
$str = mb_substr($str,0,100);
请参考!