File: README

package info (click to toggle)
libhtml-html5-entities-perl 0.004-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, jessie, jessie-kfreebsd, sid, stretch
  • size: 224 kB
  • ctags: 7
  • sloc: perl: 2,606; makefile: 2
file content (133 lines) | stat: -rw-r--r-- 4,774 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
NAME
    HTML::HTML5::Entities - drop-in replacement for HTML::Entities

SYNOPSIS
     use HTML::Entities;
 
     my $enc = encode_entities('fish & chips');
     print "$enc\n";   # fish & chips
 
     my $dec = decode_entities($enc);
     print "$dec\n";   # fish & chips

DESCRIPTION
    This is a drop-in replacement for HTML::Entities, providing the character
    entities defined in HTML5. Some caveats:

    *   The implementation is pure perl, hence in some cases slower,
        especially decoding.

    *   It will not work in Perl < 5.8.1.

  Functions
    `decode_entities($string, ...)`
        This routine replaces HTML entities found in the $string with the
        corresponding Unicode character. If multiple strings are provided as
        arguments they are each decoded separately and the same number of
        strings are returned.

        If called in void context the arguments are decoded in-place.

        This routine is exported by default.

    `_decode_entities($string, \%entity2char)`
    `_decode_entities($string, \%entity2char, $expand_prefix)`
        This will in-place replace HTML entities in $string. The %entity2char
        hash must be provided. Named entities not found in the %entity2char
        hash are left alone. Numeric entities are always expanded.

        If $expand_prefix is TRUE then entities without trailing ";" in
        %entity2char will even be expanded as a prefix of a longer
        unrecognized name.

         $string = "foo&nbspbar";
         _decode_entities($string, { nb => "@", nbsp => "\xA0" }, 1);
         print $string;  # will print "foo bar"

        This routine is exported by default.

    `encode_entities($string)`
    `encode_entities($string, $unsafe_chars)`
        This routine replaces unsafe characters in $string with their entity
        representation. A second argument can be given to specify which
        characters to consider unsafe (i.e., which to escape). This may be a
        regular expression.

        If called in void context the string is encoded in-place.

        This routine is exported by default.

    `encode_entities_numeric($string)`
        This routine works just like encode_entities, except that the
        replacement entities are always numeric.

        This routine is not exported by default.

    `num_entity($string)`
        Given a single character string, encodes it as a numeric entity.

        This routine is not exported by default.

    The following functions cannot be exported. They behave the same as the
    exportable functions.

    `HTML::Entities::decode($string, ...)`
    `HTML::Entities::encode($string)`
    `HTML::Entities::encode($string, $unsafe_characters)`
    `HTML::Entities::encode_numeric($string)`
    `HTML::Entities::encode_numeric($string, $unsafe_characters)`
    `HTML::Entities::encode_numerically($string)`
    `HTML::Entities::encode_numerically($string, $unsafe_characters)`

  Variables
    $HTML::HTML5::Entities::hex
        This variable controls whether numeric entities will use hexadecimal
        or decimal notation. It is TRUE (hexadecimal) by default, but can be
        set to FALSE.

        It only affects the encoding functions. Decoding always understands
        both notations.

    %HTML::HTML5::Entities::char2entity
    %HTML::HTML5::Entities::entity2char
        There contain the mapping from all characters to the corresponding
        entities (and vice versa, respectively). These variables may be
        exported.

        Note that %char2entity is a more conservative set of mappings,
        intended to be safe for serialising strings to HTML4, HTML5 and XHTML
        1.x. And for hysterical raisins, %entity2char does not include the
        leading ampersands, while %char2entity does.

BUGS
    Please report any bugs to
    <http://rt.cpan.org/Dist/Display.html?Queue=HTML-HTML5-Entities>.

SEE ALSO
    HTML::Entities, HTML::HTML5::Parser, HTML::HTML5::Writer.

AUTHOR
    Toby Inkster <tobyink@cpan.org>.

COPYRIGHT AND LICENCE
  Encoding and Decoding Functions
    Copyright (c) 1995-2006 by Gisle Aas.

    Copyright (c) 2012 by Toby Inkster.

    This is free software; you can redistribute it and/or modify it under the
    same terms as the Perl 5 programming language system itself.

  Entity Tables
    Copyright (c) 2004-2007 by Apple Computer Inc, Mozilla Foundation, and
    Opera Software ASA.

    Copyright (c) 2007-2011 by Wakaba <w@suika.fam.cx>.

    Copyright (c) 2009-2012 by Toby Inkster <tobyink@cpan.org>.

DISCLAIMER OF WARRANTIES
    THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
    WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
    MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.