现在的位置: 首页 > 算法 > 正文

怎样用HTML::Lint来检验HTML页面的错误

2020年05月22日 算法 ⁄ 共 1603字 ⁄ 字号 评论关闭

  在Perl中编码时,代码中的错误相当明显——解析器会将所有错误信息都显示在屏幕上,向你警告出现的问题,并让你立即采取措施进行更正。如果你在开发HTML页面,就不存在这样的早期警告系统——标记中出现的任何错误都被浏览器所忽略。更糟糕的是,一些浏览器甚至试图“自动”更正常见的标记错误,给这个过程带来许多新问题。下面学步园小编来讲解下怎样用HTML::Lint来检验HTML页面的错误?

  怎样用HTML::Lint来检验HTML页面的错误

  首先,在Perl提示符下运行下列命令,下载并安装此模块(如果你还没有这个模块的话)。

  perl>perl-MCPAN-e"installHTML::Lint"

  LintingFiles

  安装模块后,建立并保存下面的HTML文件(保存为abc.html):

  

  

  Aisforapple,Bisforbaby

  

  

  如你所见,此文件中有一个有意的错误——开头缺少标签。这个错误在这里相当明显;但如果文件更大更复杂的话,就更难发觉缺少这样的标签。这就是为什么下一步要编写一些Perl代码,用HTML::Lint来探测这个错误。

  建立并保存下列的脚本(保存为linter.pl):

  #!/usr/bin/perl

  #initializelinter

  useHTML::Lint;

  $lint=HTML::Lint->new();

  #parsefile

  $lint->parse_file("abc.html")ordie("Cannotfindfile!");

  #checkforerrors

  ($lint->err)?print"Yourcodestinks!":print"Yourcoderocks!";

  这个过程相当简单:这段脚本初始化一个HTML::Lint对象,然后应用对象的parse_file()方法来解析前面建立的HTML文件。检测到的错误(如果存在的话)被存储在@err数组中,并向控制台显示一个错误信息。

  怎样用HTML::Lint来检验HTML页面的错误

  以下是你看到的输出结果:

  shell>./linter.plYourcodestinks!

  当然,如果你有大量的文件要进行验证的话,这段代码就有点不切实际。在那种情况下,你可能想在运行时向脚本提交HTML文件名及路径,而不是把它硬编码到脚本中。列表A是前面脚本的修订版,正好可完成这一工作。

  列表A

  #!/usr/bin/perl

  #readfilenamefromcommandline

  if(!$ARGV[0]){die("ERROR:Nofilenameprovided");}

  #initializelinter

  useHTML::Lint;

  $lint=HTML::Lint->new();

  #parsefile

  $lint->parse_file($ARGV[0])ordie("ERROR:Cannotfindfile");

  #checkforerrors

  ($lint->err)?print"Yourcodestinks!":print"Yourcoderocks!";

  #printerrorcount

  print"Errorsfound:",scalar($lint->err);

  在这种情况下,脚本认为一个文件路径是它的第一个引数,并将其保存在特殊的Perl@ARGV数组中。然后,脚本寻找这个文件,将它解析,并根据发现错误与否显示一条信息。脚本的最后一行是新的:它根据HTML::Lint的@err错误数组的大小,显示由解析器发现的错误数目。

  以上就是关于“怎样用HTML::Lint来检验HTML页面的错误”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!

抱歉!评论已关闭.