2010-12-05 5 views

Antwort

2

Die Web Developer toolbar von Firefox hat eine Option "Lokal validieren".

+0

Danke pekka, aber ich ging mit UNICORN ^! –

0

Sie können die lokale Seite herunterladen curl verwenden und es dann einen lokalen Validator oder per Post wieder curl der Wahl der W3 Validator oder Ihren Online-HTML-Validator mit Verwendung validieren. Oder Sie können einen einfachen Webspider in einer Skriptsprache schreiben und das lokale Web crawlen, indem Sie jede Seite als Crawling validieren. Beispiel Crawler Klasse in Perl:

package Test::Crawler; 

use Moose; 
use WWW::Mechanize; 

has client => (
    is => 'ro', 
    isa => 'WWW::Mechanize', 
    default => sub { WWW::Mechanize->new }, 
); 

has handler => (
    is => 'ro', 
    isa => 'CodeRef', 
    default => sub {}, 
); 

sub crawl 
{ 
    my ($self, $url, $visited) = (@_, {}); 

    # Already seen that. 
    return if $visited->{$url}++; 

    # Not seen yet, get. 
    $self->client->get($url); 
    $self->handler->($url, $self->client); 

    # Follow all links. 
    my @uris = map { $_->URI } $self->client->links; 
    for my $uri (@uris) { 
     # Skip mailtos, ftp and such. 
     next if $uri->scheme; 
     # Skip external links. 
     next if $uri->host; 
     $self->crawl($uri->rel, $visited); 
    } 
} 

und eine Probe Unter validieren validator.nu mit:

sub is_valid { 
    my ($code, $page_url) = @_; 
    my $ua = LWP::UserAgent->new; 
    my $url = 'http://validator.nu/?out=gnu'; 
    my $response = $ua->post($url, Content_Type => 'text/html', Content => $code); 
    return $response->as_string !~ /error/; 
} 
+1

danke zoul, aber Einhorn ist Easurer ist nicht, aber immer noch können Sie noch ein paar Sachen mit diesem, trotzdem danke. –

0

Ich traf diese ziemlich alte Frage, wenn ich nach dem gleichen suchte. Hier ist, was bei mir funktioniert hat:

$ curl -H "Content-Type: text/html; charset=utf-8" \ 
    --data-binary "$(curl http://localhost:8080/url/to/test)" \ 
    https://validator.w3.org/nu/?out=gnu 

Siehe the docs.