Hallo,
wie kann man den HTML::Parser ein und ausschalten? danke nochmals für die vielen tipps!!
HTML::Parser lässt sich nicht ein oder abschalten. Es ist ein Modul, dessen Funktionen man verwenden kann oder nicht. Ein Modul wird durch
use modul_name;
geladen, in dem Falle also "use HTML::Parser;".
[...]
Nur tut's dann noch nichts. Man muss HTML::Parser erst beerben. ;)
Ich habe mir mal aus diversen Schnippseln folgende Batchdatei zusammengebastelt:
======striphtml.bat========
@echo off
perl -x -S %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
goto end_of_perl
#!perl
use strict;
package HTMLStripper;
BEGIN {
open PLAIN, '>'.$ARGV[1] or die $!;
}
use HTML::Parser;
use HTML::Entities qw(decode_entities);
use vars qw(@ISA *PLAIN);
@ISA = qw(HTML::Parser);
sub text {
my ($self, $text) = @_;
# hier noch andere Umwandlungen von Text einfuegen
print PLAIN decode_entities($text);
}
END { close PLAIN; }
package main;
open HTML, $ARGV[0] or die $!;
HTMLStripper->new->parse_file(*HTML);
close HTML;
__END__
:end_of_perl
x:> striphtml index.html index.txt
'striphtml.bat' liest so aufgerufen index.html ein, und speichert nur den Text zwischen den tags in index.txt
Gruß Alex