服务热线:
您当前的位置:首页 > 世纪星月刊 > 第5期 (2010年5月)

【技术前沿】小处有思想

2011/10/10 16:15:25

 

作者:研发部 任国强

 

  这段时间的工作主要以HTML页面的处理工作,有些感想在这里和大家分享一下,我个人认为,HTML的编写处理技术大致可以分为三种境界,也许有人会疑惑,但请先看看我下面的论述,如果仍然觉得不合适,猛烈地拍砖也没问题。
  HTML编写处理技术的三种境界:纯手工、半自动化、全自动化。

  境界一:纯手工
  基础知识:基本不了解HTML语法,对文档转义字符不了解。没有任何批量处理文件的意识,对正则表达式的使用一无所知。
  手法:只用网页编辑工具,如Visual Studio,Dreamweaver等,基本不看HTML代码。HTML元素都是从工具箱里拖拽到网页上,手动进行布局,可想而知效率自然低,效果自然差。
  至于这种纯手工方式怎么操作,现在计算机基础知识普及比较好,不用大费周章地介绍,仅截一两图,以示之,如图1,图2,图3。

 

 

图1

 

 

图2

 

 

图3

 

  境界二:半自动化
  基础知识:有一些HTML语法概念,对文档转义字符有所了解,并能活学活用。对正则表达式的概念和使用有所了解,能在文档处理中简单运用一些,能够批量地处理部分格式明确的HTML页面的内容。
  手法:能够用Visual Studio、Notepad++等文本编辑工具,批量打开大量文件,从中进行查找替换有一致性部分的内容,可以在工具的查找替换功能里,使用通配符以及正则表达式。
  这里举两个例子,图片表示更加清楚,均是实际的操作步骤,无相关经验但对此有兴趣的朋友不妨照此一试,例子若不太恰当,请读者海涵。
  案例1:如图4,图5,图6,图7所示:

 

 

图4

 

 

图5

 

 

图6

 

 

图7

 

  以上便是我在工作中,使用到一个半自动化的过程,借助的工具有Notepad++和Visual Studio,若您喜欢Ultra Edit、Edit++等,这些都是个人喜好问题,依口味而定,关键是清楚自己使用的工具与其他工具相比有哪些优势可言。
  案例2:我有一些康泰克出品的扩展卡,其官网如下(图8):

 

 

图8

 

  每个类型的产品下都有按硬件接口方式的小分类:PCI Express bus、 PCI/LPCI bus、 ISA bus。其中一个的示例如图9:

 

 

图9

 

  我采用一个办法,把点开后的每个显示列表细节的HTML另存到本地硬盘驱动器,名称按顺序编号,无任何其他要求,如图10,图11所示。

 

 

图10

 

 

图11

 

  有以上存储到本地硬盘的HTML文件,以后只需要在这些文件里按关键字搜索相关的板卡型号即可。至于到底用什么文档编辑工具,是个人选择的问题,我个人喜欢使用Notepad++,是因为它占用内存小,更轻量级一些。

  从图12中,可以看出,“CNT32”扩展卡,总线接口类型为PCI bus。

 

 

图12

 

  另外,保存到本地的HTML文件,短时间内,做复查还可以用的上,可谓一举两得。

  境界三:全自动化
  基础知识:能够写程序(exe程序)或脚本(如DOS的批命令,Javascript脚本),能全自动化的遍历HTML源码,并对其中符合规则的内容执行查找替换。
  手法:
  实现手法很多样,但本质相同,就是把半自动化操作中相同的操作步骤固化成程序或脚本,因为很多处理HTML源码文件的基本逻辑是相同的,只是不同语言语法关键字不同而已,以及是编译时运行还是执行时运行业务处理代码。当然普通的完全匹配方式的查找替换不够用了,而简单通配符的方式也不够用,这时当然要求助于正则表达式的威力了(其实从某种程度来说,通配符只是正则表达式的一小部分,甚至可以说是正则表达式的冰山一角)。
  因为手法多种多样,这里暂不举例。

  只怪本人才疏学浅,迟迟徘徊在全自动化阶段的门外,迟迟不得其门而入,还要请各位读者谅解。网上领教不少脚本好手,可以在Linux操作系统下写批命令,以及在Windows操作系统下写JavaScript脚本文件,实现我想要的功能,但是我更希望完成一个Windows下的批文件,这样易改易用,解释执行,免去编译之苦。当然,本人DOS命令所识不多,具体方案能否实现有待研究。

  有几个比较经典有启发性的相关实现思想,可以参考下面的链接:
  http://hi.baidu.com/%B0%D9%B6%C8hihi/blog/item/f160f7111233ac12b8127b18.html
  http://wiki.guoshuang.com/批处理查找替换大量html文件办法
  http://hi.baidu.com/%C3%E7%C6%F4%D4%B4/blog/category/%BD%C5%B1%BE%D7%F7%C6%B7

  其实,在处理工作中的HTML页面时,发现原有的HTML页面文件,格式是有很多共性。如果把这些共有特点提取出来,一定可以写成一个程序或脚本,最终实现批量地操作HTML源码,而让我们编写帮助页面文件的人员从一个个修改页面文件格式的苦海中脱离出来,节省下宝贵的时间,更专注于业务内容描述,将内容写得更精炼。即使有些文件不符合格式,没能在批量处理中被正常处理,那也只需要花较少的时间去审查,再去个别手工处理,这种自动化处理方式,HTML页面越多越能体现出自动化方式解决方案的高效性,希望我的文章,可以做到抛砖引玉的方式,争得思想的百家争鸣!

 

 

 


企业邮箱  |  法律公告  |  隐私保护  |  联系我们  |