HTMLTidy-HTML语⾔检查⼯具
导读:
早期的时候,HTML标准还没有完全形成,⽆论是否正确地关闭了<p>标记,或设计代码与格式化规则完全背离,都是没有关系的。标记的不匹配,缺少属性设置,不正确的嵌套等,这样或那样的错误都是由于缺少⼀个被⼴泛接受的标准⽽引起的,因为⼤多数浏览器都带有内置智能性,有⼀定的容错能⼒,很多⽹站开发者甚⾄都没意识到这些错误。就算浏览器有⼀定容错能⼒,但我们却不能忽视这个问题。要使页⾯可以在所有浏览器⾥显⽰,就必须确保HTML代码完全符合W3C标准所定义的规则和语法。⽬前,有很多离线或在线⼯具可以完成这⼀⼯作,这⾥我们讨论其中的⼀种,即HTML Tidy。
  HTML Tidy是⼀个免费的HTML语⾔检查⼯具,检查代码并指出⼀些与已发布的W3C标准不⼀致的地⽅。它可以⽤来解析包含HTML标记的HTML⽂件或字符串,并可以⾃动改正错误,使其与相关标准完全⼀致。
  安装
  HTML Tidy是跨平台的,在Windows、Macintosh、UNIX等平台上都可以使⽤。⼆进制版本是很实⽤的,但是如果使⽤的是UNIX系统,你可能宁愿从源程序进⾏编译和安装。若要做这个⼯作,可以把下⾯的源代码复制到你的临时路径,再进⾏标准的编译/安装操作,如下所⽰:
  shell> cd /tmp/tidy/build/gmake
  shell> make
  shell> make install
  在这个过程之后,需要在/tmp/tidy/bin/tidy下到Tidy的编译版本,并将其复制到系统⽬
录/usr/local/bin/下,使其可以被快速调⽤,之后就可以使⽤了。
  基本⽤法
  安装好Tidy的⼆进制版本,就可以开始⽤它来测试HTML⽂件了。列表A中的代码就是⼀个简单的例⼦:
  列表A
  shell> tidy -e -q index.html
  line 1 column 1 - Warning: missing <!DOCTYPE> declaration
  line 2 column 1 - Warning: inserting missing 'title' element
  line 4 column 1 - Warning: <body> proprietary attribute "leftmargin"
  line 6 column 1 - Warning: <table> proprietary attribute "height"
  line 6 column 1 - Warning: <table> lacks "summary" attribute
  line 11 column 37 - Warning: <img> lacks "alt" attribute
  line 15 column 1 - Warning: <table> lacks "summary" attribute
如何查看html代码
  line 17 column 50 - Warning: <img> lacks "alt" attribute
  在这个例⼦中,Tidy已经在⽂件中到了⼋处潜在的错误,并对每⼀处给出了错误警告。要注意的是,由于这些错误都不是很关键的错误,所以只是给出警告,指出某些代码可能不正确。
  通过在命令⾏中增加-m选项,可以让Tidy⾃动更正原⽂件中的错误。
  shell> tidy -m -q index.html
  如果需要测试⼀个⼤的站点,可以通过在命令⾏中使⽤通配符,使其所在⽬录下的所有⽂件都运⾏Tidy。
  shell> tidy -m -q *.html
  如果希望Tidy将某页⾯的HTML的正确版本重写到⼀个新的⽂件中(⽽不是直接在原⽂件上进⾏覆盖),可以使⽤-output选项加上新⽂件的名字,正如下⾯的例⼦:
  shell> tidy -output w -q index.html
  还可以使⽤-e(error)选项,使Tidy将错误写到⼀个单独的⽇志⽂件,如下⾯你所看到的例⼦:
  shell> tidy -f error.log index.html
  有必要注意的是,如果HTML代码中嵌⼊了PHP,ASP,或是JSP标记,HTML Tidy将会简单地忽略掉这些标记,不予检查。这意味着你甚⾄可以在服务器脚本上运⾏Tidy,校验其中的HTML 代码。这⾥有⼀个例⼦:
  shell> tidy -e -q processor.php
  还可以交互式地运⾏Tidy,通过调⽤⼆进制⽂件实现。在这种情况下,Tidy将会等待控制台的输⼊,随后检查输⼊有⽆错误。列表B出⽰了⼀个例⼦:
  列表B
  shell> tidy
  <html>
  line 1 column 1 - Warning: missing <!DOCTYPE> declaration
  <head>
  <title>This is a test
  </head>
  line 3 column 1 - Warning: missing </title> before </head>
  <body leftmargin=0>
  <p>
  This is a badly terminated paragraph
  </body>
  </html>
  line 5 column 1 - Warning: <body> proprietary attribute "leftmargin"
  Info: Document content looks like HTML Proprietary
  3 warnings, 0 errors were found!
  值得注意的是,除了给出实时的错误警告外,Tidy还会在输⼊结束时,会将代码的正确版本打印出来:
  <html>
  <head>
  "HTML Tidy for Linux/x86 (vers 1 September 2005), see ">
  <title>This is a test</title>
  </head>
  <body leftmargin="0">
  <p>This is a badly terminated paragraph</p>
  </body>
  </html>
⾼级应⽤
可以通过在命令⾏中明确的指⽰,控制HTML Tidy输出⽂件中的更正类型。例如,要使Tidy适当的缩进代码,可以通过在命令⾏中增加-i("indent")选项实现:
shell> tidy -output new.html -i index.html
⽤-c ("clean") 选项可以将<font>和其他格式要素替换为CSS风格:
shell> tidy -output new.html -c index.html
在缺省情况下,Tidy会在HTML⽂件的标记和属性中使⽤⼩写字母。如果习惯⼤写,可通过增加-u ("upper case") 选项加以更改,如下例所⽰:
shell> tidy -output new.html -c -u index.html
若要在某⼀特定列换⾏,可以增加 -w ("wrap") 选项和⽬标列的标号,如下所⽰:
shell> tidy -output new.html -w 40 index.html
还可以通过增加-asxhtml选项将普通HTML⽂件转化为格式⾮常标准的XHTML⽂件:
shell> tidy -output new.html -asxhtml index.html
反之,通过增加-ashtml选项来完成,如下所⽰:
shell> tidy -output new.html -ashtml index.html
如果想将很多设置变成HTML Tidy的缺省动作,⼀个很好的办法就是把它们写进⼀个单独的配置⽂件,这样,每次要调⽤程序的时候都可以引⽤这个配置⽂件。列表C中出⽰的例⼦就是这样的⼀个配置⽂件:
列表C

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。