function DrupalDiffInline::process_chunk in Diff 7.3
Same name and namespace in other branches
- 6.2 DiffEngine.php \DrupalDiffInline::process_chunk()
- 7.2 DiffEngine.php \DrupalDiffInline::process_chunk()
Merge chunk segments between tag delimiters.
1 call to DrupalDiffInline::process_chunk()
- DrupalDiffInline::render in ./
DiffEngine.php - Render differences inline using HTML markup.
File
- ./
DiffEngine.php, line 1293 - A PHP diff engine for phpwiki. (Taken from phpwiki-1.3.3)
Class
- DrupalDiffInline
- Drupal inline Diff formatter. @private @subpackage DifferenceEngine
Code
function process_chunk($chunk) {
$processed = array();
$j = 0;
foreach ($chunk as $i => $piece) {
$next = isset($chunk[$i + 1]) ? $chunk[$i + 1] : NULL;
if (!isset($processed[$j])) {
$processed[$j] = '';
}
if (strpos($piece, '<') === 0 && drupal_substr($piece, drupal_strlen($piece) - 1) === '>') {
$processed[$j] = $piece;
$j++;
}
elseif (isset($next) && strpos($next, '<') === 0 && drupal_substr($next, drupal_strlen($next) - 1) === '>') {
$processed[$j] .= $piece;
$j++;
}
else {
$processed[$j] .= $piece;
}
}
return $processed;
}