Public Member Functions | |
Text_MappedDiff ($from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines) | |
Computes a diff between sequences of strings. |
Definition at line 201 of file Diff.php.
Text_MappedDiff::Text_MappedDiff | ( | $ | from_lines, | |
$ | to_lines, | |||
$ | mapped_from_lines, | |||
$ | 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.
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 $from_lines. The elements in $mapped_from_lines and $mapped_to_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. |
Definition at line 219 of file Diff.php.
References Text_Diff::Text_Diff().
{ assert(count($from_lines) == count($mapped_from_lines)); assert(count($to_lines) == count($mapped_to_lines)); parent::Text_Diff($mapped_from_lines, $mapped_to_lines); $xi = $yi = 0; for ($i = 0; $i < count($this->_edits); $i++) { $orig = &$this->_edits[$i]->orig; if (is_array($orig)) { $orig = array_slice($from_lines, $xi, count($orig)); $xi += count($orig); } $final = &$this->_edits[$i]->final; if (is_array($final)) { $final = array_slice($to_lines, $yi, count($final)); $yi += count($final); } } }