--- loncom/interface/lonhtmlgateway.pm 2010/04/27 20:29:25 1.3
+++ loncom/interface/lonhtmlgateway.pm 2010/05/04 19:45:05 1.4
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# gateway for html input/output to be properly parsed and handled
#
-# $Id: lonhtmlgateway.pm,v 1.3 2010/04/27 20:29:25 faziophi Exp $
+# $Id: lonhtmlgateway.pm,v 1.4 2010/05/04 19:45:05 faziophi Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -548,7 +548,9 @@ sub process_outgoing_html {
if ($self->{target} ne 'tex') {
$output .= &Apache::lontexconvert::smiley($token->[1]);
} else {
- $output .= $token->[1];
+ my $t = $token->[1];
+ $t =~ s/([^\n\r\t &<>!\#%\(-;=?-~])/num_entity($1)/ge;
+ $output .= $t;
}
} elsif ($token->[0] eq 'D' || $token->[0] eq 'C') {
$output .= $token->[1];
@@ -565,7 +567,6 @@ sub process_outgoing_html {
}
}
}
-
return $output;
}
@@ -637,6 +638,10 @@ sub get_block_level_tags {
return \@block;
}
+sub num_entity {
+ sprintf "%X;", ord($_[0]);
+}
+
##############################################
##############################################
@@ -735,7 +740,11 @@ sub parse_md_tag {
sub parse_m_tag {
my $self = shift;
my $input = shift;
- return &Apache::lontexconvert::to_convert($input, $self->{target});
+ if ($self->{target} ne 'tex') {
+ return &Apache::lontexconvert::to_convert($input, $self->{target});
+ } else {
+ return ''.$input.'';
+ }
}
sub parse_chem_tag {
@@ -806,7 +815,7 @@ Phil Fazio
=head1 VERSION
-$Id: lonhtmlgateway.pm,v 1.3 2010/04/27 20:29:25 faziophi Exp $
+$Id: lonhtmlgateway.pm,v 1.4 2010/05/04 19:45:05 faziophi Exp $
=cut