php截取字符串以及去掉html标记

现在有一段从数据库读出来的$blog,因为是用FCKeditor编辑,所以代码乱七八糟两个要求1.将读出的内容,去掉全部html,好像是用strip_tags函数吧,具体... 现在有一段从数据库读出来的$blog,因为是用FCKeditor编辑,所以代码乱七八糟
两个要求
1.将读出的内容,去掉全部html,好像是用strip_tags函数吧,具体怎么用的

2.然后将去掉html标签的内容截取,比如截取100个字符(无论中英文还是标点都按100个算),然后后面的用"..."代替,好像记得也是有个函数的.
展开
 我来答
cartli
2009-12-02 · TA获得超过291个赞
知道小有建树答主
回答量:292
采纳率:0%
帮助的人:244万
展开全部
第一个很简单,就用你提供这个函数就可以。
不过第二个没有函数能执行。因为如果是英文字符应该占用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;
}
?>
dawnco
2009-12-02 · TA获得超过324个赞
知道小有建树答主
回答量:789
采纳率:0%
帮助的人:407万
展开全部
$str="带html的字符串";
$str2=strip_tags($str);
echo $str2; //已经去掉html 标
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zzs1949
2009-12-02 · TA获得超过1600个赞
知道小有建树答主
回答量:1250
采纳率:80%
帮助的人:1122万
展开全部
<?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;
}
?>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
anonymous444
2009-12-02 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:101
采纳率:0%
帮助的人:120万
展开全部
$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);

请参考!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式