Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




wp_text_diff [ WordPress Function ]

wp_text_diff ( $left_string, $right_string, $args = null )
Parameters:
  • (string) $left_string "old" (left) version of string
  • (string) $right_string "new" (right) version of string
  • (string|array) $args Optional. Change 'title', 'title_left', and 'title_right' defaults.
Uses:
  • Text_Diff
  • WP_Text_Diff_Renderer_Table
See:
Returns:
  • (string) Empty string if strings are equivalent or HTML with differences.
Defined at:



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.

Source


<?php
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();
    
$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;
}
?>

Examples [ wp-snippets.com ]

Top Google zoekresultaten

Meer ...

Gebruikersdiscussies [ wordpress.org ]

0 User Note(s)

Nog geen één. Wees de eerste!

Nieuw toevoegen ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics