johnkeis 1d5dcfe916 Generic utilities
git-svn-id: svn://10.0.0.236/trunk@137307 18797224-902f-48f8-a5cc-f745e15eee43
2003-02-03 03:45:29 +00:00

35 lines
536 B
Perl

package Tinderbox3::Util;
use strict;
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw(escape_html escape_js escape_url);
sub escape_html {
my ($str) = @_;
$str =~ s/>/>/g;
$str =~ s/</&lt;/g;
$str =~ s/'/&apos;/g;
$str =~ s/"/&quot;/g;
die if $str =~ /\n/;
return $str;
}
sub escape_js {
my ($str) = @_;
$str =~ s/(['"\\])/\\$1/g;
$str =~ s/(\r?)\n/\\n/g;
return $str;
}
sub escape_url {
my ($str) = @_;
$str =~ s/ /+/g;
$str =~ s/([%&])/sprintf('%%%x', ord($1))/eg;
return $str;
}
1