asp中用过滤html代码,但要保留p标记

我用的是fck编辑器,我想通过过滤把编辑内容中的Html代码给过滤掉,但同时要保存<p>……</p>标记,不知道大家谁有好的方法没有?我查了一些资料,但都不是很完美,例如... 我用的是fck编辑器,我想通过过滤把编辑内容中的Html代码给过滤掉,但同时要保存<p>……</p>标记,不知道大家谁有好的方法没有?
我查了一些资料,但都不是很完美,例如编辑内容如下:
<p>
<div style="width:300px;height:400px;">
<span style="color:red">编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容编辑内容……</span>
</div>
</p>
我现在想把除<p>、</p>标签保留,其余的标签全部过滤掉,包括style属性。
tyjstwp 提供的函数 Function replaceWithoutP 好像也有问题喔,把后边的</p>也给过滤掉了
展开
 我来答
大橘爱游戏
2010-06-28 · 超过15用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:60万
展开全部
调用这个方法就可以了:
Function replaceWithoutP(ContentStr)
Dim ClsTempLoseStr,regEx
ClsTempLoseStr = Cstr(ContentStr)
Set regEx = New RegExp
regEx.Pattern = "(<(\/){0,1}[^<>p]*>)|(<(\/){0,1}[^<>]+p[^<>]*>)"
regEx.IgnoreCase = True
regEx.Global = True
ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")
replaceWithoutP = ClsTempLoseStr
Set regEx = Nothing
End Function

兄弟你可以试一下

其中(<(\/){0,1}[^<>p]*>)|(<(\/){0,1}[^<>]+p[^<>]*>)的意思是:以<或者</开头,内容不包含<和>和p,以>结尾;或者以<或者</开头内容包含p但是p前面有别的字符p后面为任意字符,以>结尾

把这些字符串都替换掉就得到你要的结果了
vbtraz
2010-06-28 · TA获得超过5532个赞
知道大有可为答主
回答量:4152
采纳率:0%
帮助的人:4443万
展开全部
严格的说必须有个完整的html或者xml分析器才能做这个事情, 靠regexp是没戏的。

但是如果你的内容里不出现 < >的话靠找成对的 < >过滤掉内容就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式