function DrupalDiffInline::process_chunk

Merge chunk segments between tag delimiters.

1 call to DrupalDiffInline::process_chunk()
DrupalDiffInline::render in drupal/core/lib/Drupal/Component/Diff/DiffEngine.php
Render differences inline using HTML markup.

File

drupal/core/lib/Drupal/Component/Diff/DiffEngine.php, line 1286
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;
}