phpBB API Documentation
Class

mapped_diff

class mapped_diff extends diff

Properties

array $_edits Array of changes.

Methods

diff(array $from_content, array $to_content, bool $preserve_cr = true)

Computes diffs between sequences of strings.

from diff
get_diff()

Returns the array of differences.

from diff
integer count_added_lines()

returns the number of new (added) lines in a given diff.

from diff
integer count_deleted_lines()

Returns the number of deleted (removed) lines in a given diff.

from diff
diff reverse()

Computes a reversed diff.

from diff
boolean is_empty()

Checks for an empty diff.

from diff
integer lcs()

Computes the length of the Longest Common Subsequence (LCS).

from diff
array get_original()

Gets the original set of lines.

from diff
array get_final()

Gets the final set of lines.

from diff
trim_newlines(string $line, integer $key)

Removes trailing newlines from a line of text.

from diff
_check($from_lines, $to_lines)

Checks a diff for validity.

from diff
mapped_diff(array $from_lines, array $to_lines, array $mapped_from_lines, array $mapped_to_lines)

Computes a diff between sequences of strings.

Details

in diff at line 53
public diff(array $from_content, array $to_content, bool $preserve_cr = true)

Computes diffs between sequences of strings.

Parameters

array $from_content An array of strings. Typically these are lines from a file.
array $to_content An array of strings.
bool $preserve_cr If true, \r is replaced by a new line in the diff output

in diff at line 62
public get_diff()

Returns the array of differences.

in diff at line 74
public integer count_added_lines()

returns the number of new (added) lines in a given diff.

Return Value

integer The number of new lines

in diff at line 97
public integer count_deleted_lines()

Returns the number of deleted (removed) lines in a given diff.

Return Value

integer The number of deleted lines

in diff at line 126
public diff reverse()

Computes a reversed diff.

Example: $diff = new diff($lines1, $lines2); $rev = $diff->reverse();

Return Value

diff A Diff object representing the inverse of the original diff. Note that we purposely don't return a reference here, since this essentially is a clone() method.

in diff at line 153
public boolean is_empty()

Checks for an empty diff.

Return Value

boolean True if two sequences were identical.

in diff at line 195
public integer lcs()

Computes the length of the Longest Common Subsequence (LCS).

This is mostly for diagnostic purposes.

Return Value

integer The length of the LCS.

in diff at line 218
public array get_original()

Gets the original set of lines.

This reconstructs the $from_lines parameter passed to the constructor.

Return Value

array The original sequence of strings.

in diff at line 241
public array get_final()

Gets the final set of lines.

This reconstructs the $to_lines parameter passed to the constructor.

Return Value

array The sequence of strings.

in diff at line 263
public trim_newlines(string $line, integer $key)

Removes trailing newlines from a line of text.

This is meant to be used with array_walk().

Parameters

string $line The line to trim.
integer $key The index of the line in the array. Not used.

in diff at line 273
public _check($from_lines, $to_lines)

Checks a diff for validity.

This is here only for debugging purposes.

Parameters

$from_lines
$to_lines

at line 333
public mapped_diff(array $from_lines, array $to_lines, array $mapped_from_lines, array $mapped_to_lines)

Computes a diff between sequences of strings.

This can be used to compute things like case-insensitve diffs, or diffs which ignore changes in white-space.

Parameters

array $from_lines An array of strings.
array $to_lines An array of strings.
array $mapped_from_lines This array should have the same size number of elements as $fromlines. The elements in $mappedfromlines and $mappedto_lines are what is actually compared when computing the diff.
array $mapped_to_lines This array should have the same number of elements as $to_lines.