本文整理汇总了PHP中WP_Text_Diff_Renderer_Table类的典型用法代码示例。如果您正苦于以下问题:PHP WP_Text_Diff_Renderer_Table类的具体用法?PHP WP_Text_Diff_Renderer_Table怎么用?PHP WP_Text_Diff_Renderer_Table使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了WP_Text_Diff_Renderer_Table类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: wp_text_diff
/**
* Displays a human readable HTML representation of the difference between two strings.
*
* The Diff is available for getting the changes between versions. The output is
* HTML, so the primary use is for displaying the changes. If the two strings
* are equivalent, then an empty string will be returned.
*
* The arguments supported and can be changed are listed below.
*
* 'title' : Default is an empty string. Titles the diff in a manner compatible
* with the output.
* 'title_left' : Default is an empty string. Change the HTML to the left of the
* title.
* 'title_right' : Default is an empty string. Change the HTML to the right of
* the title.
*
* @since 2.6.0
*
* @see wp_parse_args() Used to change defaults to user defined settings.
* @uses Text_Diff
* @uses WP_Text_Diff_Renderer_Table
*
* @param string $left_string "old" (left) version of string
* @param string $right_string "new" (right) version of string
* @param string|array $args Optional. Change 'title', 'title_left', and 'title_right' defaults.
* @return string Empty string if strings are equivalent or HTML with differences.
*/
function wp_text_diff($left_string, $right_string, $args = null)
{
$defaults = array('title' => '', 'title_left' => '', 'title_right' => '');
$args = wp_parse_args($args, $defaults);
if (!class_exists('WP_Text_Diff_Renderer_Table')) {
require ABSPATH . WPINC . '/wp-diff.php';
}
$left_string = normalize_whitespace($left_string);
$right_string = normalize_whitespace($right_string);
$left_lines = explode("\n", $left_string);
$right_lines = explode("\n", $right_string);
$text_diff = new Text_Diff($left_lines, $right_lines);
$renderer = new WP_Text_Diff_Renderer_Table($args);
$diff = $renderer->render($text_diff);
if (!$diff) {
return '';
}
$r = "<table class='diff'>\n";
if (!empty($args['show_split_view'])) {
$r .= "<col class='content diffsplit left' /><col class='content diffsplit middle' /><col class='content diffsplit right' />";
} else {
$r .= "<col class='content' />";
}
if ($args['title'] || $args['title_left'] || $args['title_right']) {
$r .= "<thead>";
}
if ($args['title']) {
$r .= "<tr class='diff-title'><th colspan='4'>{$args['title']}</th></tr>\n";
}
if ($args['title_left'] || $args['title_right']) {
$r .= "<tr class='diff-sub-title'>\n";
$r .= "\t<td></td><th>{$args['title_left']}</th>\n";
$r .= "\t<td></td><th>{$args['title_right']}</th>\n";
$r .= "</tr>\n";
}
if ($args['title'] || $args['title_left'] || $args['title_right']) {
$r .= "</thead>\n";
}
$r .= "<tbody>\n{$diff}\n</tbody>\n";
$r .= "</table>";
return $r;
}
示例2: wp_text_diff
/**
* Displays a human readable HTML representation of the difference between two strings.
*
* The Diff is available for getting the changes between versions. The output is
* HTML, so the primary use is for displaying the changes. If the two strings
* are equivalent, then an empty string will be returned.
*
* The arguments supported and can be changed are listed below.
*
* 'title' : Default is an empty string. Titles the diff in a manner compatible
* with the output.
* 'title_left' : Default is an empty string. Change the HTML to the left of the
* title.
* 'title_right' : Default is an empty string. Change the HTML to the right of
* the title.
*
* @since 2.6
* @see wp_parse_args() Used to change defaults to user defined settings.
* @uses Text_Diff
* @uses WP_Text_Diff_Renderer_Table
*
* @param string $left_string "old" (left) version of string
* @param string $right_string "new" (right) version of string
* @param string|array $args Optional. Change 'title', 'title_left', and 'title_right' defaults.
* @return string Empty string if strings are equivalent or HTML with differences.
*/
function wp_text_diff($left_string, $right_string, $args = null)
{
$defaults = array('title' => '', 'title_left' => '', 'title_right' => '');
$args = wp_parse_args($args, $defaults);
// PEAR Text_Diff is lame; it includes things from include_path rather than it's own path.
// Not sure of the ramifications of disttributing modified code.
ini_set('include_path', '.' . PATH_SEPARATOR . ABSPATH . WPINC);
if (!class_exists('WP_Text_Diff_Renderer_Table')) {
require ABSPATH . WPINC . '/wp-diff.php';
}
// Normalize whitespace
$left_string = trim($left_string);
$right_string = trim($right_string);
$left_string = str_replace("\r", "\n", $left_string);
$right_string = str_replace("\r", "\n", $right_string);
$left_string = preg_replace(array('/\\n+/', '/[ \\t]+/'), array("\n", ' '), $left_string);
$right_string = preg_replace(array('/\\n+/', '/[ \\t]+/'), array("\n", ' '), $right_string);
$left_lines = split("\n", $left_string);
$right_lines = split("\n", $right_string);
$text_diff = new Text_Diff($left_lines, $right_lines);
$renderer = new WP_Text_Diff_Renderer_Table();
$diff = $renderer->render($text_diff);
ini_restore('include_path');
if (!$diff) {
return '';
}
$r = "<table class='diff'>\n";
$r .= "<col class='ltype' /><col class='content' /><col class='ltype' /><col class='content' />";
if ($args['title'] || $args['title_left'] || $args['title_right']) {
$r .= "<thead>";
}
if ($args['title']) {
$r .= "<tr class='diff-title'><th colspan='4'>{$args['title']}</th></tr>\n";
}
if ($args['title_left'] || $args['title_right']) {
$r .= "<tr class='diff-sub-title'>\n";
$r .= "\t<td></td><th>{$args['title_left']}</th>\n";
$r .= "\t<td></td><th>{$args['title_right']}</th>\n";
$r .= "</tr>\n";
}
if ($args['title'] || $args['title_left'] || $args['title_right']) {
$r .= "</thead>\n";
}
$r .= "<tbody>\n{$diff}\n</tbody>\n";
$r .= "</table>";
return $r;
}
示例3: wp_text_diff
/**
* Displays a human readable HTML representation of the difference between two strings.
*
* The Diff is available for getting the changes between versions. The output is
* HTML, so the primary use is for displaying the changes. If the two strings
* are equivalent, then an empty string will be returned.
*
* The arguments supported and can be changed are listed below.
*
* 'title' : Default is an empty string. Titles the diff in a manner compatible
* with the output.
* 'title_left' : Default is an empty string. Change the HTML to the left of the
* title.
* 'title_right' : Default is an empty string. Change the HTML to the right of
* the title.
*
* @since 2.6
* @see wp_parse_args() Used to change defaults to user defined settings.
* @uses Text_Diff
* @uses WP_Text_Diff_Renderer_Table
*
* @param string $left_string "old" (left) version of string
* @param string $right_string "new" (right) version of string
* @param string|array $args Optional. Change 'title', 'title_left', and 'title_right' defaults.
* @return string Empty string if strings are equivalent or HTML with differences.
*/
function wp_text_diff($left_string, $right_string, $args = null)
{
$defaults = array('title' => '', 'title_left' => '', 'title_right' => '');
$args = wp_parse_args($args, $defaults);
if (!class_exists('WP_Text_Diff_Renderer_Table')) {
require ABSPATH . WPINC . '/wp-diff.php';
}
// Normalize whitespace
$left_string = trim($left_string);
$right_string = trim($right_string);
$left_string = str_replace("\r", "\n", $left_string);
$right_string = str_replace("\r", "\n", $right_string);
$left_string = preg_replace(array('/\\n+/', '/[ \\t]+/'), array("\n", ' '), $left_string);
$right_string = preg_replace(array('/\\n+/', '/[ \\t]+/'), array("\n", ' '), $right_string);
$left_lines = split("\n", $left_string);
$right_lines = split("\n", $right_string);
$text_diff = new Text_Diff($left_lines, $right_lines);
$renderer = new WP_Text_Diff_Renderer_Table();
$diff = $renderer->render($text_diff);
if (!$diff) {
return '';
}
$r = "<table class='diff'>\n";
$r .= "<col class='ltype' /><col class='content' /><col class='ltype' /><col class='content' />";
if ($args['title'] || $args['title_left'] || $args['title_right']) {
$r .= "<thead>";
}
if ($args['title']) {
$r .= "<tr class='diff-title'><th colspan='4'>{$args['title']}</th></tr>\n";
}
if ($args['title_left'] || $args['title_right']) {
$r .= "<tr class='diff-sub-title'>\n";
$r .= "\t<td></td><th>{$args['title_left']}</th>\n";
$r .= "\t<td></td><th>{$args['title_right']}</th>\n";
$r .= "</tr>\n";
}
if ($args['title'] || $args['title_left'] || $args['title_right']) {
$r .= "</thead>\n";
}
$r .= "<tbody>\n{$diff}\n</tbody>\n";
$r .= "</table>";
return $r;
}
示例4: _wp_text_diff
/**
* Normal wp_text_diff with three lines added as indicated
* @access private
* @version 3.4
*/
function _wp_text_diff($left_string, $right_string, $args = null)
{
//fork edit: added parent arg
$defaults = array('title' => '', 'title_left' => '', 'title_right' => '', 'fork' => false);
$args = wp_parse_args($args, $defaults);
if (!class_exists('WP_Text_Diff_Renderer_Table')) {
require ABSPATH . WPINC . '/wp-diff.php';
}
//begin fork edit
global $fork;
if ($args['fork']) {
global $fork;
$parent = $fork->revisions->get_previous_revision($args['fork']);
$left_lines = get_post($parent)->post_content;
}
//end edit
$left_string = normalize_whitespace($left_string);
$right_string = normalize_whitespace($right_string);
$left_lines = explode("\n", $left_string);
$right_lines = explode("\n", $right_string);
$text_diff = new Text_Diff($left_lines, $right_lines);
$renderer = new WP_Text_Diff_Renderer_Table();
$diff = $renderer->render($text_diff);
if (!$diff) {
return '';
}
$r = "<table class='diff'>\n";
$r .= "<col class='ltype' /><col class='content' /><col class='ltype' /><col class='content' />";
if ($args['title'] || $args['title_left'] || $args['title_right']) {
$r .= "<thead>";
}
if ($args['title']) {
$r .= "<tr class='diff-title'><th colspan='4'>{$args['title']}</th></tr>\n";
}
if ($args['title_left'] || $args['title_right']) {
$r .= "<tr class='diff-sub-title'>\n";
$r .= "\t<td></td><th>{$args['title_left']}</th>\n";
$r .= "\t<td></td><th>{$args['title_right']}</th>\n";
$r .= "</tr>\n";
}
if ($args['title'] || $args['title_left'] || $args['title_right']) {
$r .= "</thead>\n";
}
$r .= "<tbody>\n{$diff}\n</tbody>\n";
$r .= "</table>";
return $r;
}
示例5: wp_text_diff
/**
* Displays a human readable HTML representation of the difference between two strings.
*
* The Diff is available for getting the changes between versions. The output is
* HTML, so the primary use is for displaying the changes. If the two strings
* are equivalent, then an empty string will be returned.
*
* The arguments supported and can be changed are listed below.
*
* 'title' : Default is an empty string. Titles the diff in a manner compatible
* with the output.
* 'title_left' : Default is an empty string. Change the HTML to the left of the
* title.
* 'title_right' : Default is an empty string. Change the HTML to the right of
* the title.
*
* @since 2.6
* @see wp_parse_args() Used to change defaults to user defined settings.
* @uses Text_Diff
* @uses WP_Text_Diff_Renderer_Table
*
* @param string $left_string "old" (left) version of string
* @param string $right_string "new" (right) version of string
* @param string|array $args Optional. Change 'title', 'title_left', and 'title_right' defaults.
* @return string Empty string if strings are equivalent or HTML with differences.
*/
function wp_text_diff( $left_string, $right_string, $args = null ) {
$defaults = array( 'title' => '', 'title_left' => '', 'title_right' => '' );
$args = wp_parse_args( $args, $defaults );
if ( !class_exists( 'WP_Text_Diff_Renderer_Table' ) )
require( ABSPATH . WPINC . '/wp-diff.php' );
$left_string = normalize_whitespace($left_string);
$right_string = normalize_whitespace($right_string);
$left_lines = split("\n", $left_string);
$right_lines = split("\n", $right_string);
$text_diff = new Text_Diff($left_lines, $right_lines);
$renderer = new WP_Text_Diff_Renderer_Table();
$diff = $renderer->render($text_diff);
if ( !$diff )
return '';
$r = "<table class='diff'>\n";
$r .= "<col class='ltype' /><col class='content' /><col class='ltype' /><col class='content' />";
if ( $args['title'] || $args['title_left'] || $args['title_right'] )
$r .= "<thead>";
if ( $args['title'] )
$r .= "<tr class='diff-title'><th colspan='4'>$args[title]</th></tr>\n";
if ( $args['title_left'] || $args['title_right'] ) {
$r .= "<tr class='diff-sub-title'>\n";
$r .= "\t<td></td><th>$args[title_left]</th>\n";
$r .= "\t<td></td><th>$args[title_right]</th>\n";
$r .= "</tr>\n";
}
if ( $args['title'] || $args['title_left'] || $args['title_right'] )
$r .= "</thead>\n";
$r .= "<tbody>\n$diff\n</tbody>\n";
$r .= "</table>";
return $r;
}
示例6: compare
/**
* Handles rendering of the compare view
* @return {string} HTML to be sent to the browser
*/
public function compare()
{
$compareContent = false;
//Get the Main Revision
$snippet1 = Snippet::get()->byID(intval($this->urlParams['ID']));
if (empty($snippet1) || $snippet1 === false || $snippet1->ID == 0) {
$snippet1 = false;
}
if ($snippet1 !== false) {
//Get the Comparision Revision
$snippet2 = $snippet1->Version(intval($this->urlParams['OtherID']));
if (empty($snippet2) || $snippet1 === false || $snippet2->ID == 0) {
$snippet2 = false;
}
if ($snippet2 !== false) {
$snippet1Text = preg_replace('/\\r\\n|\\n|\\r/', "\n", $snippet1->SnippetText);
$snippet2Text = preg_replace('/\\r\\n|\\n|\\r/', "\n", $snippet2->Text);
//Generate the diff file
$diff = new Text_Diff('auto', array(preg_split('/\\n/', $snippet1Text), preg_split('/\\n/', $snippet2Text)));
$renderer = new WP_Text_Diff_Renderer_Table();
$renderedDiff = $renderer->render($diff);
if (!empty($renderedDiff)) {
$lTable = '<table cellspacing="0" cellpadding="0" border="0" class="diff">' . '<colgroup>' . '<col class="ltype"/>' . '<col class="content"/>' . '</colgroup>' . '<tbody>';
$rTable = $lTable;
header('content-type: text/plain');
$xml = simplexml_load_string('<tbody>' . str_replace(' ', ' ', $renderedDiff) . '</tbody>');
foreach ($xml->children() as $row) {
$i = 0;
$lTable .= '<tr>';
$rTable .= '<tr>';
foreach ($row->children() as $td) {
$attr = $td->attributes();
if ($i == 0) {
$lTable .= $td->asXML();
} else {
$rTable .= $td->asXML();
}
$i++;
}
$lTable .= '</tr>';
$rTable .= '</tr>';
}
$lTable .= '</tbody></table>';
$rTable .= '</tbody></table>';
$compareContent = '<div class="compare leftSide">' . $lTable . '</div>' . '<div class="compare rightSide">' . $rTable . '</div>';
}
}
}
Requirements::css(CB_DIR . '/css/CompareView.css');
Requirements::javascript(CB_DIR . '/javascript/CodeBank.CompareView.js');
return $this->renderWith('CodeBank_CompareView', array('CompareContent' => $compareContent));
}