源码查看器3.0添加新功能

*Css提取:
计划支持提取页内css和css连接文件提取
*表单提取(待定):
用来提取页面内的表单
回复列表(23|显示机器人聊天)
  • @Ta / 2013-08-08 / /
    加油
  • @Ta / 2013-08-08 / /
    顶顶
  • @Ta / 2013-08-08 / /
    支持
  • @Ta / 2013-08-08 / /
    在线提取css,内链或外链css都可以:http://app.hiftp.net/?do=wper.index.css
  • @Ta / 2013-08-08 / /
    @funch,你给我源码,让我参考,还是我自己直接写呢?
  • @Ta / 2013-08-08 / /
    @孤荷行,这个,,正则匹配有css没,有再正则是外链or内链,外链则获取
  • @Ta / 2013-08-08 / /
    @funch,我有实现思路的,的确需要用正则匹配,我只是随便说说
  • @Ta / 2013-08-10 / /
    @funch,我晕死了:-(
  • @Ta / 2013-08-10 / /
    @孤荷行,晕嘛呢?
  • @Ta / 2013-08-10 / /
    @funch,我写了一种匹配正则出现错误,后来写了这种正则,但是我看这个正则真的不爽,这个靠.css扩展名来匹配真的不靠谱。
     (?i)<link[^<>]*href=[\"']?([^\"'<>]+\\.css)[\"']?[^<>]*>
  • @Ta / 2013-08-10 / /
    @孤荷行,匹配type="text/css"啊。
  • @Ta / 2013-08-10 / /
    @老虎会游泳,我的第一个是要匹配type="text/css"的,结果导致我程序出错,后来就改成了现在这个正则来测试一下
  • @Ta / 2013-08-10 / /
    @老虎会游泳,我的第一个正则
     (?i)<link[^>]*type=[\"']?text/css[\"']?[^>]*href=[\"']?([^\"'>]+)[\"']?[^>]*>|(?i)<link[^>]*href=[\"']?([^\"'>]+)[\"']?[^>]*type=[\"']?text/css[\"']?[^>]*>
  • @Ta / 2013-08-10 / /
    @孤荷行,你为什么不尝试分步进行呢?
    <link([不含>]*type=['"]text/css['"][不含>]*)>
    先匹配出css标签的全部属性,然后再从中匹配出地址不就方便多了?
  • @Ta / 2013-08-10 / /
    @老虎会游泳,我是想一步到倍,所以就懒得分步了,如果无法一步解决那就只能分步了,分步还是有点麻烦的,首先第一次匹配得把数据截取出来,然后再进行匹配,再截取,这样循环有点多
  • @Ta / 2013-08-10 / /
    preg_match('#<link([^>]+text/css[^>]*)>#Ui',$html,$css);//某些html没加"/'
    preg_match('#href=([^\s]+)#Ui',$css[1],$cssi);
    $url=str_replace(array('\'','"'),array('',''),$cssi[1]);
  • @Ta / 2013-08-10 / /
    @老虎会游泳,要是还不行那我就得把
     (?i)<link[^>]*type=[\"']?text/css[\"']?[^>]*href=[\"']?([^\"'>]+)[\"']?[^>]*>|(?i)<link[^>]*href=[\"']?([^\"'>]+)[\"']?[^>]*type=[\"']?text/css[\"']?[^>]*>
    分成
     (?i)<link[^>]*type=[\"']?text/css[\"']?[^>]*href=[\"']?([^\"'>]+)[\"']?[^>]*>

    (?i)<link[^>]*href=[\"']?([^\"'>]+)[\"']?[^>]*type=[\"']?text/css[\"']?[^>]*>
    这两条进行两次匹配,这样应该还是可以的
  • @Ta / 2013-08-10 / /
  • @Ta / 2013-08-10 / /
    @孤荷行,JAVA的正则不支持回调函数吗(比如类似preg_replace_callback的)?这样就不用循环了。
添加新回复
回复需要登录