version 1.105, 2001/08/06 19:44:54
|
version 1.106, 2001/08/07 16:54:14
|
Line 13
|
Line 13
|
# 6/12,6/13 H. K. Ng |
# 6/12,6/13 H. K. Ng |
# 6/16 Gerd Kortemeyer |
# 6/16 Gerd Kortemeyer |
# 7/27 H. K. Ng |
# 7/27 H. K. Ng |
|
# 8/7 Gerd Kortemeyer |
|
|
package Apache::lonxml; |
package Apache::lonxml; |
use vars |
use vars |
qw(@pwd @outputstack $redirection $import @extlinks $metamode $evaluate %insertlist @namespace); |
qw(@pwd @outputstack $redirection $import @extlinks $metamode $evaluate %insertlist @namespace); |
use strict; |
use strict; |
use HTML::TokeParser; |
use HTML::TokeParser; |
|
use HTML::TreeBuilder; |
use Safe; |
use Safe; |
use Safe::Hole; |
use Safe::Hole; |
use Math::Cephes qw(:trigs :hypers :bessels erf erfc); |
use Math::Cephes qw(:trigs :hypers :bessels erf erfc); |
Line 281 sub xmlparse {
|
Line 283 sub xmlparse {
|
return $finaloutput; |
return $finaloutput; |
} |
} |
|
|
|
sub htmlclean { |
|
my $raw=shift; |
|
|
|
my $tree = HTML::TreeBuilder->new; |
|
$tree->ignore_unknown(0); |
|
|
|
$tree->parse($raw); |
|
my %emptyhash=(); |
|
|
|
my $output= $tree->as_HTML(undef,' ',\%emptyhash), "\n"; |
|
|
|
$output=~s/\<(br|hr|img)([^\>\/]*)\>/\<$1$2 \/\>/gis; |
|
$output=~s/\<\/(br|hr|img)\>//gis; |
|
$output=~s/\<[\/]*(body|head|html)\>//gis; |
|
|
|
$tree = $tree->delete; |
|
|
|
return $output; |
|
} |
|
|
sub inner_xmlparse { |
sub inner_xmlparse { |
my ($target,$stack,$parstack,$pars,$safeeval,$style_for_target)=@_; |
my ($target,$stack,$parstack,$pars,$safeeval,$style_for_target)=@_; |
&Apache::lonxml::debug('Reentrant parser starting, again?'); |
&Apache::lonxml::debug('Reentrant parser starting, again?'); |