Hiroshi Sakai

NAME

HTML::Split - Splitting HTML by number of characters with keeping DOM structure.

SYNOPSIS

  use HTML::Split;

  my $html = <<HTML;
  <div class="pkg">
  <h1>HTML::Split</h1>
  <p>Splitting HTML by number of characters.</p>
  </div>
  HTML;

  my @pages = HTML::Split->split(html => $html, length => 50);

  # $pages[0] <div class="pkg">
  #           <h1>HTML::Split</h1>
  #           <p>Splittin</p></div>
  # $pages[1] <div class="pkg">
  #           <p>g HTML by number of characters.</p></div>

DESCRIPTION

HTML::Split is the module to split HTML by number of characters with keeping DOM structure.

In some mobile devices, mainly cell-phones, because the data size that can be acquired with HTTP is limited, it is necessary to split HTML.

This module provide the method of splitting HTML without destroying the DOM tree for such devices.

METHODS

split

Split HTML text by number of characters. It can accept below parameters with hash.

html

HTML string.

length

The length (characters) per pages.

extend_tags

Defining regexp of description that can not split. For example, your original markup to show emoticon '[E:foo]':

  extend_tags => [
      {
          full  => qr/\[E:[\w\-]+\]/,
          begin => qr/\[[^\]]*?/,
          end   => qr/[^\]]+\]/,
      },
  ]
  • full

    Completely matching pattern of your original markup.

  • begin

    The beginning pattern to find your original markup.

  • end

    The ending pattern of your original markup.

new

This will be deprecated. Please use HTML::Split::Pager instead.

AUTHOR

Hiroshi Sakai <ziguzagu@cpan.org>

LICENSE

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