本文整理汇总了PHP中Arr::render方法的典型用法代码示例。如果您正苦于以下问题:PHP Arr::render方法的具体用法?PHP Arr::render怎么用?PHP Arr::render使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Arr
的用法示例。
在下文中一共展示了Arr::render方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: render
/**
* Render a and return diff with changes between the two sequences
* displayed inline (under each other)
*
* @return string The generated inline diff.
*/
public function render()
{
$changes = parent::render();
$html = '';
if (empty($changes)) {
return $html;
}
$html .= '<table class="Differences DifferencesInline">';
$html .= '<thead>';
$html .= '<tr>';
$html .= '<th>Old</th>';
$html .= '<th>New</th>';
$html .= '<th>Differences</th>';
$html .= '</tr>';
$html .= '</thead>';
foreach ($changes as $i => $blocks) {
// If this is a separate block, we're condensing code so output ...,
// indicating a significant portion of the code has been collapsed as
// it is the same
if ($i > 0) {
$html .= '<tbody class="Skipped">';
$html .= '<th>…</th>';
$html .= '<th>…</th>';
$html .= '<td> </td>';
$html .= '</tbody>';
}
foreach ($blocks as $change) {
$html .= '<tbody class="Change' . ucfirst($change['tag']) . '">';
// Equal changes should be shown on both sides of the diff
if ($change['tag'] == 'equal') {
foreach ($change['base']['lines'] as $no => $line) {
$fromLine = $change['base']['offset'] + $no + 1;
$toLine = $change['changed']['offset'] + $no + 1;
$html .= '<tr>';
$html .= '<th>' . $fromLine . '</th>';
$html .= '<th>' . $toLine . '</th>';
$html .= '<td class="Left">' . $line . '</td>';
$html .= '</tr>';
}
} else {
if ($change['tag'] == 'insert') {
foreach ($change['changed']['lines'] as $no => $line) {
$toLine = $change['changed']['offset'] + $no + 1;
$html .= '<tr>';
$html .= '<th> </th>';
$html .= '<th>' . $toLine . '</th>';
$html .= '<td class="Right"><ins>' . $line . '</ins> </td>';
$html .= '</tr>';
}
} else {
if ($change['tag'] == 'delete') {
foreach ($change['base']['lines'] as $no => $line) {
$fromLine = $change['base']['offset'] + $no + 1;
$html .= '<tr>';
$html .= '<th>' . $fromLine . '</th>';
$html .= '<th> </th>';
$html .= '<td class="Left"><del>' . $line . '</del> </td>';
$html .= '</tr>';
}
} else {
if ($change['tag'] == 'replace') {
foreach ($change['base']['lines'] as $no => $line) {
$fromLine = $change['base']['offset'] + $no + 1;
$html .= '<tr>';
$html .= '<th>' . $fromLine . '</th>';
$html .= '<th> </th>';
$html .= '<td class="Left"><span>' . $line . '</span></td>';
$html .= '</tr>';
}
foreach ($change['changed']['lines'] as $no => $line) {
$toLine = $change['changed']['offset'] + $no + 1;
$html .= '<tr>';
$html .= '<th>' . $toLine . '</th>';
$html .= '<th> </th>';
$html .= '<td class="Right"><span>' . $line . '</span></td>';
$html .= '</tr>';
}
}
}
}
}
$html .= '</tbody>';
}
}
$html .= '</table>';
return $html;
}
示例2: render
/**
* Render a and return diff with changes between the two sequences
* displayed side by side.
*
* @return string The generated side by side diff.
*/
public function render()
{
$changes = parent::render();
$html = '';
if (empty($changes)) {
return $html;
}
$html .= '<table class="Differences DifferencesSideBySide">';
$html .= '<thead>';
$html .= '<tr>';
$html .= '<th colspan="2">Old Version</th>';
$html .= '<th colspan="2">New Version</th>';
$html .= '</tr>';
$html .= '</thead>';
foreach ($changes as $i => $blocks) {
if ($i > 0) {
$html .= '<tbody class="Skipped">';
$html .= '<th>…</th><td> </td>';
$html .= '<th>…</th><td> </td>';
$html .= '</tbody>';
}
foreach ($blocks as $change) {
$html .= '<tbody class="Change' . ucfirst($change['tag']) . '">';
// Equal changes should be shown on both sides of the diff
if ($change['tag'] == 'equal') {
foreach ($change['base']['lines'] as $no => $line) {
$fromLine = $change['base']['offset'] + $no + 1;
$toLine = $change['changed']['offset'] + $no + 1;
$html .= '<tr>';
$html .= '<th>' . $fromLine . '</th>';
$html .= '<td class="Left"><span>' . $line . '</span> </span></td>';
$html .= '<th>' . $toLine . '</th>';
$html .= '<td class="Right"><span>' . $line . '</span> </span></td>';
$html .= '</tr>';
}
} else {
if ($change['tag'] == 'insert') {
foreach ($change['changed']['lines'] as $no => $line) {
$toLine = $change['changed']['offset'] + $no + 1;
$html .= '<tr>';
$html .= '<th> </th>';
$html .= '<td class="Left"> </td>';
$html .= '<th>' . $toLine . '</th>';
$html .= '<td class="Right"><ins>' . $line . '</ins> </td>';
$html .= '</tr>';
}
} else {
if ($change['tag'] == 'delete') {
foreach ($change['base']['lines'] as $no => $line) {
$fromLine = $change['base']['offset'] + $no + 1;
$html .= '<tr>';
$html .= '<th>' . $fromLine . '</th>';
$html .= '<td class="Left"><del>' . $line . '</del> </td>';
$html .= '<th> </th>';
$html .= '<td class="Right"> </td>';
$html .= '</tr>';
}
} else {
if ($change['tag'] == 'replace') {
if (count($change['base']['lines']) >= count($change['changed']['lines'])) {
foreach ($change['base']['lines'] as $no => $line) {
$fromLine = $change['base']['offset'] + $no + 1;
$html .= '<tr>';
$html .= '<th>' . $fromLine . '</th>';
$html .= '<td class="Left"><span>' . $line . '</span> </td>';
if (!isset($change['changed']['lines'][$no])) {
$toLine = ' ';
$changedLine = ' ';
} else {
$toLine = $change['base']['offset'] + $no + 1;
$changedLine = '<span>' . $change['changed']['lines'][$no] . '</span>';
}
$html .= '<th>' . $toLine . '</th>';
$html .= '<td class="Right">' . $changedLine . '</td>';
$html .= '</tr>';
}
} else {
foreach ($change['changed']['lines'] as $no => $changedLine) {
if (!isset($change['base']['lines'][$no])) {
$fromLine = ' ';
$line = ' ';
} else {
$fromLine = $change['base']['offset'] + $no + 1;
$line = '<span>' . $change['base']['lines'][$no] . '</span>';
}
$html .= '<tr>';
$html .= '<th>' . $fromLine . '</th>';
$html .= '<td class="Left"><span>' . $line . '</span> </td>';
$toLine = $change['changed']['offset'] + $no + 1;
$html .= '<th>' . $toLine . '</th>';
$html .= '<td class="Right">' . $changedLine . '</td>';
$html .= '</tr>';
}
}
//.........这里部分代码省略.........