免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2742 | 回复: 5
打印 上一主题 下一主题

求一正则表达式处理部分html标签 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-04 15:20 |只看该作者 |倒序浏览
求一正则表达式处理部分html标签; 例如我需要保留所有与字体相关的标签, 对于下面的内容
<font size="1"> <a href="/static/B">title1</a> </font> abc <strong> title 2</strong> def <h3>title3</h3>
我希望用一条正则替换后得到:
<font size="1"> title1 </font> abc <strong> title 2</strong> def <h3>title3</h3>

请问能如何实现?

论坛徽章:
0
2 [报告]
发表于 2009-11-04 15:47 |只看该作者
  1. $str = qq(<font size="1"> <a href="/static/B">title1</a> </font> abc <strong> title 2</strong> def <h3>title3</h3> );
  2. $str =~ s/<\/?a.*?>//g;
  3. print $str;
复制代码

输出
<font size=1> title1 </font> abc <strong> title 2</strong> def <h3>title3</h3>

[ 本帖最后由 hu145165 于 2009-11-4 15:50 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-11-04 15:56 |只看该作者
原帖由 hu145165 于 2009-11-4 15:47 发表
$str = qq( title1  abc  title 2 def title3 );
$str =~ s///g;
print $str;
输出
title1  abc  title 2 def title3



谢谢,我理解你的意思;实际的一篇html页面有太多的标签;依照你的方法,我只能去掉url;其它标签如何处理;我认为我们应该考虑如何移出 font , strong 和h标签以外的标签.

论坛徽章:
0
4 [报告]
发表于 2009-11-04 16:20 |只看该作者
:wink: 慢慢求证就行了

[ 本帖最后由 hu145165 于 2009-11-4 16:23 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2009-11-04 17:13 |只看该作者
$str = qq(<font size="1"> <a href="/static/B">title1</a> </font> abc <strong> title 2</strong> def <h3>title3</h3> );
$str =~ s/<\/?[^fsh].*?>//g;                                                              
print $str;  

输出
<font size="1"> title1  abc <strong> title 2 def <h3>title3

还是不对,楼主可以改进一下

论坛徽章:
0
6 [报告]
发表于 2009-11-05 16:13 |只看该作者
原帖由 meihuaqi 于 2009-11-4 17:13 发表
$str = qq( title1  abc  title 2 def title3 );
$str =~ s///g;                                                              
print $str;  

输出
title1  abc  title 2 def title3

还是不对,楼 ...


这个应该是保留了以f, s, h开始的标签,这样并不可靠。
我本来打算这样做:先得到所有的标签,让后循环去判断处理;但是这样效率太差了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP