version 1.351, 2005/01/24 22:36:03
|
version 1.354, 2005/01/30 12:56:45
|
Line 368 sub xmlparse {
|
Line 368 sub xmlparse {
|
|
|
sub htmlclean { |
sub htmlclean { |
my ($raw,$full)=@_; |
my ($raw,$full)=@_; |
|
# Take care of CRLF etc |
|
|
my $tree = HTML::TreeBuilder->new; |
$raw=~s/\r\f/\n/gs; $raw=~s/\f\r/\n/gs; |
$tree->ignore_unknown(0); |
$raw=~s/\r\n/\n/gs; $raw=~s/\n\r/\n/gs; |
|
$raw=~s/\f/\n/gs; $raw=~s/\r/\n/gs; |
$tree->parse($raw); |
$raw=~s/\&\#10\;/\n/gs; $raw=~s/\&\#13\;/\n/gs; |
|
|
my $output= $tree->as_HTML(undef,' '); |
# Generate empty tags, remove wrong end tags |
|
$raw=~s/\<(br|hr|img|meta|allow|basefont)([^\>\/]*?)\>/\<$1$2 \/\>/gis; |
$output=~s/\<(br|hr|img|meta|allow)(.*?)\>/\<$1$2 \/\>/gis; |
$raw=~s/\<\/(br|hr|img|meta|allow|basefont)\>//gis; |
$output=~s/\<\/(br|hr|img|meta|allow)\>//gis; |
|
unless ($full) { |
unless ($full) { |
$output=~s/\<[\/]*(body|head|html)\>//gis; |
$raw=~s/\<[\/]*(body|head|html)\>//gis; |
} |
} |
|
# Make standard tags lowercase |
$tree = $tree->delete; |
foreach ('html','body','head','meta','h1','h2','h3','h4','b','i','m', |
|
'table','tr','td','th','p','br','hr','img','embed','font', |
return $output; |
'a','strong','center','title','basefont') { |
|
$raw=~s/\<$_\s*\>/\<$_\>/gis; |
|
$raw=~s/\<\/$_\s*\>/<\/$_\>/gis; |
|
$raw=~s/\<$_\s([^\>]*)\>/<$_ $1\>/gis; |
|
} |
|
return $raw; |
} |
} |
|
|
sub latex_special_symbols { |
sub latex_special_symbols { |
Line 1261 sub handler {
|
Line 1266 sub handler {
|
&Apache::loncommon::content_type($request,'text/html'); |
&Apache::loncommon::content_type($request,'text/html'); |
} |
} |
&Apache::loncommon::no_cache($request); |
&Apache::loncommon::no_cache($request); |
|
$request->set_last_modified(&Apache::lonnet::metadata($request->uri, |
|
'lastrevisiondate')); |
$request->send_http_header; |
$request->send_http_header; |
|
|
return OK if $request->header_only; |
return OK if $request->header_only; |