- From: Abigail <abigail@tungsten.gn.iaf.nl>
- Date: Wed, 20 Dec 1995 06:02:50 +0100 (MET)
- To: philipp@res.enst.fr (Philippe-Andre Prindeville)
- Cc: www-html@w3.org
You, Philippe-Andre Prindeville wrote: ++ ++ Hi. ++ ++ I'm using perl 4.0pl36 (on an HP-UX 9.01 system) and perl 5.000 ++ on a SunOS 4.1.3_U1 system, and I'm trying to convert accented (French) ++ text to HTML via: ++ ++ $line =~ s/[&<>\200-\377]/sprintf("&#%d;", unpack("C", $1))/ge; ++ ++ thinking this would convert all high-bit set characters to their ++ decimal equivalent as "&#nn;" but this isn't turning out as ++ expected. ++ ++ I'm wondering about this. Probably something stupid, but.... ++ Anyone have a quick fix? The problem is that $1 doesn't match anything... Use either: $line =~ s/([&<>\200-\377])/sprintf("&#%d;", unpack("C", $1))/ge; or: $line =~ s/[&<>\200-\377]/sprintf("&#%d;", unpack("C", $&))/ge; This should work too: $line =~ s/[&<>\200-\377]/sprintf("&#%d;", ord ($&))/ge; Abigail
Received on Wednesday, 20 December 1995 00:03:34 UTC