# HTML::Diff - phpMan

## NAME
    [HTML::Diff] - compare two HTML strings and return a list of differences

## SYNOPSIS
     use [HTML::Diff];

     $result = html_word_diff($left_text, $right_text);

## DESCRIPTION
    This module compares two strings of HTML and returns a list of a chunks
    which indicate the diff between the two input strings, where changes in
    formatting are considered changes.

    [HTML::Diff] does not strictly parse the HTML. Instead, it uses regular
    expressions to make a decent effort at understanding the given HTML. As
    a result, there are many valid HTML documents for which it will not
    produce the correct answer. But there may be some invalid HTML documents
    for which it gives you the answer you're looking for. Your mileage may
    vary; test it on lots of inputs from your domain before relying on it.

    Returns a reference to a list of triples [<flag>, <left>, <right>]. Each
    triple represents a check of the input texts. The flag tells you whether
    it represents a deletion, insertion, a modification, or an unchanged
    chunk.

    Every character of each input text is accounted for by some triple in
    the output. Specifically, Concatenating all the <left> members from the
    return value should produce $left_text, and likewise the <right> members
    concatenate together to produce $right_text.

    The <flag> is either 'u', '+', '-', or 'c', indicating whether the two
    chunks are the same, the $right_text contained this chunk and the left
    chunk didn't, or vice versa, or the two chunks are simply different.
    This follows the usage of [Algorithm::Diff].

    The difference is computed on a word-by-word basis, "breaking" on
    visible words in the HTML text. If a tag only is changed, it will not be
    returned as an independent chunk but will be shown as a change to one of
    the neighboring words. For balanced tags, such as <b> </b>, it is
    intended that a change to the tag will be treated as a change to all
    words in between.

## SEE ALSO
    [Algorithm::Diff] provides the diff algorithm used in this module.

    [XML::Diff] can generate a diff between two XML files, and also patch an
    XML file, given a diff.

## REPOSITORY
    <<https://github.com/neilb/html-diff>>

## AUTHOR
    Whipped up by Ezra elias kilty Cooper, <<ezra@ezrakilty.net>>.

    Patch contributed by Adam <<asjo@koldfront.dk>>.

## COPYRIGHT AND LICENSE
    Copyright 2003-2014 by Ezra elias kilty Cooper, <<ezra@ezrakilty.net>>

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

