#!/usr/bin/perl -w # Shows how to mangle all plain text in an HTML document, using an arbitrary # Perl expression. Plain text is all text not within a tag declaration, i.e. # not in <p ...>, but possibly between <p> and </p> # Example (Reverse 'Debian' in all text) : # lynx -dump -source -raw http://www/debian.org > /tmp/a.txt # ./htextsub '$_ =~ s/Debian/Naibed/gi' /tmp/a.txt use strict; my $code = shift || usage(); $code = 'sub edit_print { local $_ = shift; ' . $code . '; print }'; #print $code; eval $code; die $@ if $@; use HTML::Parser 3.05; my $p = HTML::Parser->new(unbroken_text => 1, default_h => [ sub { print @_; }, "text" ], text_h => [ \&edit_print, "text" ], ); my $file = shift || usage(); $p->parse_file($file) || die "Can't open file $file: $!\n"; sub usage { my $progname = $0; $progname =~ s,^.*/,,; die "Usage: $progname <perlexpr> <filename>\n"; }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
README | File | 1.06 KB | 0644 |
|
hanchors | File | 1.14 KB | 0755 |
|
hdump | File | 683 B | 0755 |
|
hform | File | 1.87 KB | 0755 |
|
hlc | File | 710 B | 0755 |
|
hrefsub | File | 2.72 KB | 0755 |
|
hstrip | File | 1.74 KB | 0755 |
|
htext | File | 575 B | 0755 |
|
htextsub | File | 955 B | 0755 |
|
htitle | File | 434 B | 0755 |
|