免费注册 查看新帖 |

Chinaunix

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

菜鸟问题求教~~各位大大帮忙~~谢谢~~ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-15 13:09 |只看该作者 |倒序浏览
我现在要将从网页上抓取的内容放到我的数据库里,抓取到的数据是这个样子的:
<table>
    <tr>
        <td>
        名称:
        </td>
        <td>
        12323123
        </td>
    ............
    </tr>
</table>
空格、换行甚么的都已经被我去掉了,但是现在有这么个问题~~
我想把所有的标签都去掉,就是凡是<xxx>这样的内容都去掉,可是实际上程序把全部内容都给我整没了,认了字符串开头的<,和结束的>,这个怎么办~~
//$a = preg_replace('(<.*>)','',$a);
这样的的结果并不是让上面的字符串变成   名称:12323123  ,而是全部没有了,成空的了
正则我实在不太熟,各位大大们帮帮忙,帮我把字符串中间的标签去掉,而不要全部整没了~~~多谢各位回帖帮忙~~

[ 本帖最后由 txw300 于 2008-12-15 13:19 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-12-15 14:00 |只看该作者
自己写个函数吧。
大致思路,查找符号>,然后从后面再查找符号<,获取这两个地址中间的字符串就可以了。

论坛徽章:
11
技术图书徽章
日期:2014-03-01 14:44:34天蝎座
日期:2014-05-21 22:11:59金牛座
日期:2014-05-30 17:06:14
3 [报告]
发表于 2008-12-15 14:42 |只看该作者

回复 #1 txw300 的帖子

每种流行的语言都有好的xml/html解析库,而且正则表达式不是万能的

论坛徽章:
0
4 [报告]
发表于 2008-12-15 15:28 |只看该作者
你要获取的数据是标准的table中的吗?还是有其他的??
如果只是talble的话,那就好办写,因为需要去掉的都是

  1. <table XXX> <tr XXX> <td XXX>
  2. </table XXX> </tr XXX> </td XXX>
复制代码

这样的格式,LZ确认一下吧,如果这样的话,libxml应该可以解决,自己写函数也行

论坛徽章:
0
5 [报告]
发表于 2008-12-16 00:04 |只看该作者
3Q  是标准的TABLE~~决定用xml写了~~谢谢大家·~

论坛徽章:
0
6 [报告]
发表于 2008-12-16 00:05 |只看该作者
用正则确实难匹配~~
'<'跟'>'程序搞不清我要匹配的是哪个。。。

论坛徽章:
0
7 [报告]
发表于 2008-12-16 00:11 |只看该作者
<[^>]+>
如果是BRE的话需要转义一下<[^>]\+>

原帖由 timespace 于 2008-12-15 14:42 发表
每种流行的语言都有好的xml/html解析库,而且正则表达式不是万能的

RE就是万能的

论坛徽章:
0
8 [报告]
发表于 2008-12-16 00:12 |只看该作者
原帖由 txw300 于 2008-12-16 00:05 发表
用正则确实难匹配~~
''程序搞不清我要匹配的是哪个。。。

这个是正则的贪婪性,默认是匹配最大。因为你使用.,而.可以匹配>所以全匹配了。

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
9 [报告]
发表于 2008-12-16 09:25 |只看该作者
原帖由 walkerxk 于 2008-12-16 00:11 发表

RE就是万能的

regexp 能识别的语法只是 context-free grammar 的一个子集。

论坛徽章:
0
10 [报告]
发表于 2008-12-16 09:26 |只看该作者
原帖由 txw300 于 2008-12-16 00:04 发表
3Q  是标准的TABLE~~决定用xml写了~~谢谢大家·~

支持你这种自己动手的做事方法。:wink:
libxml有好多例子,多多参考
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP