VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
破解DVD格式,就是著名的DECSS

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

#!/usr/bin/perl

# DeCSS v 0.06 -- a utility for stripping Cascading Style Sheet (CSS)
# information from an HTML page

# Copyright 2000, Mr. Bad of Pigdog Journal (http://www.pigdog.org/).
# All Rights Reserved.

# This software is distributed under the Artistic License, which should have
# come with this file. Please distribute this software far and wide.
# The original version can always be found on the World Wide Web at:
#
#      http://www.pigdog.org/decss/

# THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

use Getopt::Std;
use strict;   # Choosy software use's strict!

my($USAGE) = <<"END_OF_USAGE";
DeCSS 0.06: a utility to strip Cascading Style Sheets (CSS) tags
            from HTML documents

USAGE: DeCSS [-h] [-i input file] [-o output file]

options:
 -h  print this help message
        -i input file input file to strip (default: standard input)
        -o output file place to put the output (default: standard output)

END_OF_USAGE

my(%options);
local(*IN, *OUT);

getopts("hi:o:", \%options);

if (exists $options{h}) {
    print $USAGE;
    exit(0);
}

if (exists $options{i}) {
    open(IN, "<$options{i}") or die "Can't open $options{i}: $!\n";
} else {
    open(IN, "<&STDIN") or die "Can't open STDIN: $!\n";
}

if (exists $options{o}) {
    open(OUT, ">$options{o}") or die "Can't open $options{o}: $!\n";
} else {
    open(OUT, ">&STDOUT") or die "Can't open STDOUT: $!\n";
}

decssify(*IN, *OUT);

close(IN);
close(OUT);

sub decssify {
    local(*IN, *OUT) = @_;

    # Yeah, like -you- never slurp in entire files at a time.

    select(IN); undef $/;

    my($content) = <IN>;

    $content =~ s%<link.*?rel=\"stylesheet\".*?>%%mg; # Strip stylesheet links
    $content =~ s%<style>.*?</style>%%mg; # Strip <style> blocks
    $content =~ s%style=\".*?\"%%mg; # Strip style attributes
    $content =~ s%class=\".*?\"%%mg; # Strip class attributes
    $content =~ s%id=\".*?\"%%mg; # Strip id attributes

    print OUT $content;
}

__END__


=head1 NAME

DeCSS - A utility to strip Cascading Style Sheet (CSS) information from a Web page.

=head1 SYNOPSIS

DeCSS -i my_file.html -o my_file_no_css.html

=head1 DESCRIPTION

DeCSS is a utility program to strip Cascading Style Sheet (CSS)
information from a Web page. For a given input HTML file, it removes
the following type of HTML code:

=over 4

=item E<lt>styleE<gt> tags

=item E<lt>linkE<gt> tags that are for CSS stylesheets

=item C<class> attributes

=item C<style> attributes

=item C<id> attributes

=back

That's all it does. It has no relationship whatsoever to encryption,
copy protection, movies, software freedom, oppressive industry
cartels, Web site witch hunts, or any other bad things that could get
you in trouble. Please feel free to redistribute it as much as possible,
preferably on your Web site.

=head1 AUTHOR

Mister Bad <[email protected]>

=head1 SEE ALSO

=over 4

=item W3 Cascading Style Sheets (CSS) site

http://www.w3.org/Style/CSS/

=back

=head1 VERSION HISTORY

=over 4

=item 0.06

Repackaged software, including mirroring utilities and a FAQ.

=item 0.05

Initial version.

=back

=cut

# Local Variables: #
# mode: perl #
# End: #

 




相关文章

相关软件