1HTML::HTML5::Entities(3U)ser Contributed Perl DocumentatiHoTnML::HTML5::Entities(3)
2
3
4
6 HTML::HTML5::Entities - drop-in replacement for HTML::Entities
7
9 use HTML::Entities;
10
11 my $enc = encode_entities('fish & chips');
12 print "$enc\n"; # fish & chips
13
14 my $dec = decode_entities($enc);
15 print "$dec\n"; # fish & chips
16
18 This is a drop-in replacement for HTML::Entities, providing the
19 character entities defined in HTML5. Some caveats:
20
21 • The implementation is pure perl, hence in some cases slower,
22 especially decoding.
23
24 • It will not work in Perl < 5.8.1.
25
26 Functions
27 "decode_entities($string, ...)"
28 This routine replaces HTML entities found in the $string with the
29 corresponding Unicode character. If multiple strings are provided
30 as arguments they are each decoded separately and the same number
31 of strings are returned.
32
33 If called in void context the arguments are decoded in-place.
34
35 This routine is exported by default.
36
37 "_decode_entities($string, \%entity2char)"
38 "_decode_entities($string, \%entity2char, $expand_prefix)"
39 This will in-place replace HTML entities in $string. The
40 %entity2char hash must be provided. Named entities not found in the
41 %entity2char hash are left alone. Numeric entities are always
42 expanded.
43
44 If $expand_prefix is TRUE then entities without trailing ";" in
45 %entity2char will even be expanded as a prefix of a longer
46 unrecognized name.
47
48 $string = "foo bar";
49 _decode_entities($string, { nb => "@", nbsp => "\xA0" }, 1);
50 print $string; # will print "foo bar"
51
52 This routine is exported by default.
53
54 encode_entities($string)
55 "encode_entities($string, $unsafe_chars)"
56 This routine replaces unsafe characters in $string with their
57 entity representation. A second argument can be given to specify
58 which characters to consider unsafe (i.e., which to escape). This
59 may be a regular expression.
60
61 If called in void context the string is encoded in-place.
62
63 This routine is exported by default.
64
65 encode_entities_numeric($string)
66 This routine works just like encode_entities, except that the
67 replacement entities are always numeric.
68
69 This routine is not exported by default.
70
71 num_entity($string)
72 Given a single character string, encodes it as a numeric entity.
73
74 This routine is not exported by default.
75
76 The following functions cannot be exported. They behave the same as the
77 exportable functions.
78
79 "HTML::Entities::decode($string, ...)"
80 HTML::Entities::encode($string)
81 "HTML::Entities::encode($string, $unsafe_characters)"
82 HTML::Entities::encode_numeric($string)
83 "HTML::Entities::encode_numeric($string, $unsafe_characters)"
84 HTML::Entities::encode_numerically($string)
85 "HTML::Entities::encode_numerically($string, $unsafe_characters)"
86
87 Variables
88 $HTML::HTML5::Entities::hex
89 This variable controls whether numeric entities will use
90 hexadecimal or decimal notation. It is TRUE (hexadecimal) by
91 default, but can be set to FALSE.
92
93 It only affects the encoding functions. Decoding always understands
94 both notations.
95
96 %HTML::HTML5::Entities::char2entity
97 %HTML::HTML5::Entities::entity2char
98 There contain the mapping from all characters to the corresponding
99 entities (and vice versa, respectively). These variables may be
100 exported.
101
102 Note that %char2entity is a more conservative set of mappings,
103 intended to be safe for serialising strings to HTML4, HTML5 and
104 XHTML 1.x. And for hysterical raisins, %entity2char does not
105 include the leading ampersands, while %char2entity does.
106
108 Please report any bugs to
109 <http://rt.cpan.org/Dist/Display.html?Queue=HTML-HTML5-Entities>.
110
112 HTML::Entities, HTML::HTML5::Parser, HTML::HTML5::Writer.
113
115 Toby Inkster <tobyink@cpan.org>.
116
118 Encoding and Decoding Functions
119 Copyright (c) 1995-2006 by Gisle Aas.
120
121 Copyright (c) 2012 by Toby Inkster.
122
123 This is free software; you can redistribute it and/or modify it under
124 the same terms as the Perl 5 programming language system itself.
125
126 Entity Tables
127 Copyright (c) 2004-2007 by Apple Computer Inc, Mozilla Foundation, and
128 Opera Software ASA.
129
130 Copyright (c) 2007-2011 by Wakaba <w@suika.fam.cx>.
131
132 Copyright (c) 2009-2012 by Toby Inkster <tobyink@cpan.org>.
133
135 THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
136 WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
137 MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
138
139
140
141perl v5.36.0 2023-01-20 HTML::HTML5::Entities(3)