シェル上に色付けしたdiffを出力する

Console_Color とあわせて Text_Diff を使用することで ANSI ターミナル上で色付けしたdiffを表示することが可能になります。

<?php
require_once 'Console/Color.php';
require_once 
'Text/Diff.php';
require_once 
'Text/Diff/Renderer/inline.php';

$lines1 file('1.htm');
$lines2 file('2.htm');

$diff     = new Text_Diff('auto', array($lines1$lines2));
$renderer = new Text_Diff_Renderer_inline(
    array(
        
'ins_prefix' => '%g',
        
'ins_suffix' => '%n',
        
'del_prefix' => '%r',
        
'del_suffix' => '%n',
    )
);
echo 
Console_Color::convert(
    
htmlspecialchars_decode(
        
$renderer->render($diff)
    )
);
?>

シェル上にこのように表示されます:

スクリーンショット