Text::InHTML - Display plain text in HTML


NAME

Text::InHTML - Display plain text in HTML


SYNOPSIS

  use Text::InHTML;
  my $html = Text::InHTML::encode_plain($plain_text_text);
  my $syntax_higlighted_diff = Text::InHTML::encode_diff($plain_text_diff);


DESCRIPTION

In its simplest form it turns a plain text string into HTML that when rendered retains its whitespace without pre tags or pre-like css. Also HTML is encoded so no HTML is rendered like it would be with pre tags. Useful for displaying source code or a text file on a web page exactly as-is.

More advanced useage includes syntax highlighting.

EXPORT

None by default.

Any encode_* is exportable

The tag :common does: encode_plain encode_whitespace encode_perl encode_diff encode_html encode_css encode_sql encode_mysql encode_xml encode_dtd encode_xslt encode_xmlschema


Functions

encode_plain

Returns an HTML and whitespace encoded version of $plain_text_string

    encode_plain($plain_text_string);

$tabs is the number of spaces a tab should be considered to be, default is 4

    encode_plain($plain_text_string, $tabs);

encode_whitespace

Mostly a utility function, returns whitespace encoded version of $string

    encode_whitespace($tring);

$tabs is the number of spaces a tab should be considered to be, default is 4

    encode_whitespace($plain_text_string, $tabs);

encode_perl, encode_diff, encode_*

You can call Text::InHTML::encode_whatever(), where ``whatever'' is a ``format'' as listed under ``Processing text'' at the Syntax::Highlight::Universal manpage

Note: if the format has a dash, like ``html-css'' then you need to call it with an underscore in place of each - like so:

    Text::InHTML::encode_html_css()

and it will return HTML that is syntax highlighted (what the Syntax::Highlight::Universal manpage does) *and* retains whitespace (what the Syntax::Highlight::Universal manpage does not do)

    my $syntax_highlighted_source_code = Text::InHTML::encode_perl($string);
    my $syntax_highlighted_source_code = Text::InHTML::encode_perl($string, $syntax);
    
    my $syntax_highlighted_source_code = Text::InHTML::encode_perl($string, $syntax, $tabs);
    my $syntax_highlighted_source_code = Text::InHTML::encode_perl($string, undef, $tabs);
    my $syntax_highlighted_source_code = Text::InHTML::encode_perl($string, {}, $tabs);

$tabs is the number of spaces a tab should be considered to be, default is 4

If the Syntax::Highlight::Universal manpage is installed, it calls the Syntax::Highlight::Universal manpage's highlight method with the given format, othersise it simply does encode_plain()

Additionally $syntax can be a hashref which gives you fine grained control over the the Syntax::Highlight::Universal manpage object.

Its keys and values are as follows:


SEE ALSO

the HTML::Entities manpage, the Syntax::Highlight::Universal manpage


TIPS


AUTHOR

Daniel Muey, http://drmuey.com/cpan_contact.pl


COPYRIGHT AND LICENSE

Copyright (C) 2006 by Daniel Muey

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.

 Text::InHTML - Display plain text in HTML