Hi Josh,

I took your advice about the optimization and now have the following:
(It *is* tested and works).


#=============================================================
sub HTMLDecode
{
  my $self = shift if scalar(@_) > 1;
  my $str = shift;
  $str =~ s/&#(\d+);/chr($1)/eg;
  return $str;
}# end htmlDecode()


#=============================================================
sub HTMLEncode
{
  my $self = shift if scalar(@_) > 1;
  my $str = shift;
  return '' unless defined $str;
  my $toEncode = ref($str) ? $str : \$str;
    $$toEncode =~ s/(
      [^A-Z
        a-z
        0-9
        [EMAIL PROTECTED]&\*\(\)\-_\+\=\{\}\[\]\:;'"\<,\>\.\?\\\s\/])/
      "&#" . ord($1) . ";"/egsx;
  if( ref($str) ){ return $toEncode }else{ return $$toEncode };
}# end htmlEncode()


_______________________________________________________________

John Drago | Chief Architect of Software Development
E-com Media Group, Inc. [www.e-commedia.com] 
office
::
 303.790.7940 x25
email
::
[EMAIL PROTECTED]



E - b u s i n e s s   w i t h   D i m e n s i o n TM


| -----Original Message-----
| From: Josh Chamas [mailto:[EMAIL PROTECTED]
| Sent: Tuesday, March 02, 2004 6:01 PM
| To: John Drago
| Cc: [EMAIL PROTECTED]
| Subject: Re: HTMLEn/Decode replacements
| 
| John Drago wrote:
| > Hello,
| >
| > I needed to make some changes to the
Apache::ASP::Server::HTMLEn/Decode
| > subroutines so they would suit a particular purpose in a project I
am
| > working on.
| >
| > I am putting this code out here for what it's worth.  These work as
| > drop-in replacements for the subroutines by the same name in
| > Apache::ASP::Server.pm
| >
| 
| Hi John,
| 
| In considering adding this to the Apache::ASP code, I am wondering
| under what circumstances you would want to do this?  For possible
| inclusion,
| this might be something like HTMLEncodeEntities() or some such...
| 
| Also, if it does not make it in, you might consider subclassing
| Apache::ASP::Server,
| so you do not have to modify the base class itself.  As an
optimization
| for
| large conversions, you might lose the while() and:
| 
|     # not tested!
|     $$toEncode =~ s/[EMAIL PROTECTED]&\*\(\)\-
| _\+\=\{\}\[\]\:;'"\<,\>\.\?\\\/\s]/"&#" . ord($char) . ";"/egs;
| 
| Regards,
| 
| Josh
| 
|
________________________________________________________________________
| Josh Chamas, Founder    | NodeWorks - http://www.nodeworks.com
| Chamas Enterprises Inc. | NodeWorks Directory -
http://dir.nodeworks.com
| http://www.chamas.com   | Apache::ASP - http://www.apache-asp.org
| 
| 
| 
| ---------------------------------------------------------------------
| To unsubscribe, e-mail: [EMAIL PROTECTED]
| For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to