Ответ 1
Джон Ресиг написал один в JavaScript, который выглядит интересным.
В системе управления контентом модераторы должны утверждать изменения в существующих статьях. В настоящее время система показывает старую и пересмотренную версию текста в виде простого текста. Это боль, чтобы найти фактические различия.
В GoogleDocs есть функция "Сравнить ревизии", которая подчеркивает различия между двумя документами.
Если там есть свободный компонент, который делает то же самое?
Если нет, напишите ли вы такой компонент в JavaScript или на стороне сервера?
Все обычные средства сравнения - это настольные приложения.
Джон Ресиг написал один в JavaScript, который выглядит интересным.
jsdifflib выглядит как интересная javascript-клиентская библиотека. Я бы решительно склонялся к реализации на стороне клиента, если он предоставил нужные вам функции. Зачем налагать свои серверы на логику представления, когда вы все равно передаете клиенту данные?
Попробуйте инструмент Pretty Diff. Он основан на jsdifflib, но улучшен, чтобы выделить различия между персонажами и перестроить их для скорости. Он также сравнивает сокращенный код с неминифицированным кодом. Он полностью написан на JavaScript и поддерживает вход JavaScript, CSS и XML/XHTML.
Если вы работаете с PHP, вы можете найти SimpleDIFF.
Проверьте библиотеку diff JavaScript wikEd diff. Он используется в Википедии в гаджете wikEdDiff точно для заданной цели сравнения версий статей. Свободная (общедоступная) библиотека может обнаруживать и выделять движения блоков, работает на уровне слова/символа и выплескивает красиво отформатированный текст с вставками, удалениями, перемещенными блоками и их исходными позициями. Для воспроизведения с настройками см. Онлайн-демонстрацию .
Библиотека Diff, Match и Patch Library доступна с идентичным API в JavaScript, Java, С#, Python и других языках. (Кажется, это был и может быть тем, что используется в Документах Google.)
Существует онлайн-демонстрация выходных данных HTML с различными вариантами.
Учитывая идентичный API, доступный как на клиентских, так и на серверных языках, должно быть проще сделать переход между ними, если вы решите, что хотите...