NAME

Escape::Houdini - Perl API to Houdini, a zero-dependency C web escaping library

VERSION

version 0.3.3

SYNOPSIS

    use Escape::Houdini ':all';

    my $escaped = escape_html( '<foo>' );
    # $escaped is now '&lt;foo&gt;'

DESCRIPTION

Escape::Houdini is a wrapper around the zero-depedency, minimalistic web escaping C library Houdini.

This version of Escape::Houdini has been built against the commit https://github.com/vmg/houdini/commit/3e2a78a2399bf3f58253c435278df6daf0e41740 of Houdini.

FUNCTIONS

escape_html( $text )

    escape_html( '<body class="foo">' ); # => '&lt;body class=&quot;foo&quot;&gt;'

unescape_html( $text )

    unescape_html( "&lt;body&gt;" ); # => '<body>'

escape_xml( $text )

    escape_xml( "<foo>" ); # => '&lt;foo&gt;'

escape_uri( $text )

unescape_uri( $text )

escape_url( $text )

    escape_url("http://foo.com/meh"); # => 'http%3A%2F%2Ffoo.com%2Fmeh'

unescape_url( $text )

    unescape_url('http%3A%2F%2Ffoo.com%2Fmeh'); # => "http://foo.com/meh"

escape_href( $text )

escape_js( $text )

    escape_js( "foo\nbar" ); # => 'foo\nbar'

unescape_js( $text )

    escape_js( 'foo\nbar' ); # => "foo\nbar"

EXPORTS

Escape::Houdini doesn't export any function by default. Functions can be exported individually, or via the following tags:

    | tag   | exported functions         |
    |-------|----------------------------|
    | :all  | all o' them                |
    | :html | escape_html, unescape_html |
    | :uri  | escape_uri, unescape_uri   |
    | :url  | escape_url, unescape_url   |
    | :js   | escape_js, unescape_js     |

SEE ALSO

Houdini (natch) - https://github.com/vmg/houdini

AUTHOR

Yanick Champoux <yanick@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2020, 2019, 2017, 2014, 2013 by Yanick Champoux.

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