像這樣的位由WordPress的:如何在PHP中使用wiki/wordpress樣式比較/差異?
或者這從鏈接到MediaWiki:
我試圖在PHP的幾個差異引擎,最全面的似乎是(http://www.raymondhill.net/finediff/viewdiff-ex.php)和PEAR的討論Text_Diff--,但我可以」 t似乎找不到任何選項將兩個版本並排堆放在一起,就像上面的圖像一樣。我認爲比單獨使用這兩種版本更容易閱讀。
像這樣的位由WordPress的:如何在PHP中使用wiki/wordpress樣式比較/差異?
或者這從鏈接到MediaWiki:
我試圖在PHP的幾個差異引擎,最全面的似乎是(http://www.raymondhill.net/finediff/viewdiff-ex.php)和PEAR的討論Text_Diff--,但我可以」 t似乎找不到任何選項將兩個版本並排堆放在一起,就像上面的圖像一樣。我認爲比單獨使用這兩種版本更容易閱讀。
已經找到了解決 - 通過從WordPress的取WP_Text_Diff_Renderer_Table類(WP-包括/可溼性粉劑diff.php),其被一起選擇中使用PEAR討論Text_Diff--:
$diff = new Text_Diff('auto', array($lines1, $lines2));
$render = new WP_Text_Diff_Renderer_Table;
echo $render->render($diff);
當包裹在標記上面的代碼產生與上面的WordPress截圖相同的HTML佈局。有然後是四個CSS規則,樣式:
更多細節在這裏:http://www.webdevguides.co.uk/php-2/wordpress-style-diff-in-php
我finediff.php的作者,你指的是您的文章。使用PHP FineDiff類的解決方案非常簡單:使用庫存渲染器FineDiff :: renderDiffToHTMLFromOpcodes()獲取diff的HTML字符串,比在兩個不同的DIV中使用相同的結果字符串,每個CSS樣式都適當,就像所以:
<?php
...
$diff = FineDiff::getDiffOpcodes($fromText, $toText);
$diffHTML = FineDiff::renderDiffToHTMLFromOpcodes($fromText, $diff);
?>
<div id="from"><?php echo $diffHTML; ?></div>
<div id="to"><?php echo $diffHTML; ?></div>
然後是造型的問題適當地給你希望的東西只顯示:
#from ins {display:none}
#to del {display:none}
編輯:關於第二個想法,我知道你可能希望雙方進行適當固定在一起,我的解決方案不會這樣做。