| Server IP : 127.0.1.1 / Your IP : 216.73.216.152 Web Server : Apache/2.4.52 (Ubuntu) System : Linux bahcrestlinepropertiesllc 5.15.0-113-generic #123-Ubuntu SMP Mon Jun 10 08:16:17 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/libhtml-parser-perl/examples/ |
Upload File : |
#!/usr/bin/perl
# 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;
use warnings;
use HTML::Parser ();
my $code = shift || usage();
$code = 'sub edit_print { local $_ = shift; ' . $code . '; print }';
#print $code;
eval $code;
die $@ if $@;
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";
}