Loading ...
Sorry, an error occurred while loading the content.

19036Re: [PBML] How to convert to ascii

Expand Messages
  • Jenda Krynicky
    Jun 1, 2004
      From: daymobrew@...
      > --- In perl-beginner@yahoogroups.com, Paul Archer <tigger@i...> wrote:
      > > 10:11am, Gilles Beauregard wrote: > > > Allo! > > > > How to convert
      > the following string to regular ascii: > > > >
      > mailto:we > > > Look at chr
      > (and it's opposite, ord). But that looks like HTML encoding (to > my
      > non-web master/developer eye). So my guess is there's a subrouting in
      > the > CGI module that'll do what you want. >
      >
      > There is an escapeHTML() function in CGI.pm but I didn't find a
      > reversal function.
      > As Paul suggests, chr() will convert 109 to 'm'
      > So, maybe you could split the string on semi-colons, strip off the
      > '&#' and then run through chr().

      And what will you do if there are some unescaped chars?

      Use regexp replacement instead:

      $string =~ s/&\#(\d+);/chr($1)/ge;

      or even better, use a module:

      use HTML::Entities;
      $string = decode_entities($string);

      that way you can be sure even á and ø type entities are
      handled correctly.

      Jenda
      ===== Jenda@... === http://Jenda.Krynicky.cz =====
      When it comes to wine, women and song, wizards are allowed
      to get drunk and croon as much as they like.
      -- Terry Pratchett in Sourcery
    • Show all 6 messages in this topic