2007-09-19

用Perl验证HTML代码

来源: 开发者在线 作者: 评论 0 条
 

下面的代码是应用过程:

shell> ./linter.pl /tmp/abc.html

Your code stinks!

Errors found: 1

Handling errors

现在我们清楚了HTML::Lint如何在代码中发现错误,但还有一个问题——显示代码中出现的错误是好的,但对于诊断问题并没有多大帮助。你真正希望得到的是具体的错误信息,它说明错误的本质以及错误发生的行号。

幸运的是,HTML::Lint将这一信息存储在@err数组中,提取并显示它也很轻易。下一个样本(列表B)以上一个样本为基础,显示了更为详尽的信息。

列表B

#!/usr/bin/perl

# read file name from command line

if (!$ARGV[0]) { die ("ERROR: No file name provided"); }

# initialize linter

use HTML::Lint;

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

# parse file

$lint->parse_file($ARGV[0]) or die("ERROR: Cannot find file");

# check for errors

($lint->err) ? print "Your code stinks! " : print "Your code rocks! ";

# print detailed error list

foreach $e ($lint->err) {

?print $e->where(), ": ", $e->errtext() , " ";

}

在这种情况下,@err数组由一个foreach()循环处理。每个单独的错误对象被提取出来,其位置和具体的错误信息用对象的where()errtext()方法显示出来。

这里是一个可能的例子:

shell> ./linter.pl /tmp/abc.html

Your code stinks!

(4:1): </body> with no opening <body>

当然,你可以对上面的脚本进行修改,以便一次验证几个文件,将错误记录到一个日志文件中,而不用显示出来;或者过滤除最重要错误以外的所有错误。请访问HTML::Lint网页了解更多实例与其他技巧。编程快乐!


共2页: 上一页 [1] 2 下一页
(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:行业网站老总:我们是这样做行业网站的  
下一篇:用10个Perl模块在Web表单和CGI程序中验证用户输入
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号