perl正则表达式过滤html代码

<h1>123</h1><pstyle="">456</p>过滤后123456... <h1>123</h1>
<p style="">456</p>
过滤后
123
456
展开
 我来答
againinput4
2012-12-27
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
帮你写了完整的代码:
#!/usr/bin/perl -w

=File decalaration
Function:
perl正则表达式过滤html代码
http://zhidao.baidu.com/question/510917594.html

Author: Crifan Li
Version: 2012-12-27
Contact: admin at crifan dot com
=cut

use warnings;

$origHtml = <<END;
<h1>123</h1>
<p style="">456</p>
END

#print("origHtml=", $origHtml);

$filteredHtml = $origHtml;
$filteredHtml =~ s/<([a-zA-Z]\w*)(\s+\S+)*>(.+?)<\/\1>/$3/sg;
print "after remove html tag=",$filteredHtml;
# after remove html tag=123
# 456

感兴趣的,可以去看:
crifan 正则表达式学习心得

(这里不给贴地址,请自己用google搜标题,即可找到帖子地址)
追问
不对哈。

都不能过滤
你试试。
追答
本来就不能过滤

因为我写的是
(.+?)
而不是:
(.*?)

我写成什么样的,主要取决于你给我的要求
你要是要求我能处理什么,我就给你写成什么样的代码。
百度网友288ba2d
2012-12-27
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
while (<html>)
{
if ($_=~m/<h1>(.*?)<\/h1>/g)
{
print $1;

}
if ($_ = ~m/<p style=\"\">(.*?)<\/p>)
{
print $1;

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仁寄琴07
2012-12-27
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
很难哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式