--- loncom/interface/loncommon.pm 2004/10/15 16:51:29 1.220 +++ loncom/interface/loncommon.pm 2004/10/21 09:53:44 1.221 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.220 2004/10/15 16:51:29 matthew Exp $ +# $Id: loncommon.pm,v 1.221 2004/10/21 09:53:44 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -3732,6 +3732,31 @@ sub connection_aborted { return $c->aborted(); } +# +# Escapes strings that may have embedded 's that will be put into +# javascript strings as 'strings'. +# The assumptions are: +# There has been no effort to escape ' with \' +# Any \'s in the string are intended to be there as part of the URL +# and must also be escaped. +# Parameters: +# input - The string to escape. +# Returns: +# The escaped string (' replaced by \' and \ replaced by \\). +# +sub javascript_escape { + my ($input) = @_; + + # I imagine a regexp wizard could combine the two expressions below. + # If you do you might want to comment the result. + + $input =~ s/\\/\\\\/g; # Escape the /'s..(must be first)> + $input =~ s/\'/\\\'/g; # Esacpe the 's.... + + return $input; +} + + =pod =back