php截取字符串以及去掉html标记
现在有一段从数据库读出来的$blog,因为是用FCKeditor编辑,所以代码乱七八糟两个要求1.将读出的内容,去掉全部html,好像是用strip_tags函数吧,具体...
现在有一段从数据库读出来的$blog,因为是用FCKeditor编辑,所以代码乱七八糟
两个要求
1.将读出的内容,去掉全部html,好像是用strip_tags函数吧,具体怎么用的
2.然后将去掉html标签的内容截取,比如截取100个字符(无论中英文还是标点都按100个算),然后后面的用"..."代替,好像记得也是有个函数的. 展开
两个要求
1.将读出的内容,去掉全部html,好像是用strip_tags函数吧,具体怎么用的
2.然后将去掉html标签的内容截取,比如截取100个字符(无论中英文还是标点都按100个算),然后后面的用"..."代替,好像记得也是有个函数的. 展开
4个回答
展开全部
第一个很简单,就用你提供这个函数就可以。
不过第二个没有函数能执行。因为如果是英文字符应该占用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;
}
?>
不过第二个没有函数能执行。因为如果是英文字符应该占用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;
}
?>
展开全部
$str="带html的字符串";
$str2=strip_tags($str);
echo $str2; //已经去掉html 标
签
$str2=strip_tags($str);
echo $str2; //已经去掉html 标
签
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?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;
}
?>
$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;
}
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$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);
请参考!
$str = preg_replace("/<[a-zA-Z][^>]*>/", "", $str);
$str = preg_replace("/<\/[^>]+>/", "", $str);
$str = trim($str);
$str = mb_substr($str,0,100);
请参考!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询