Если вам нужна история изменений, не изобретайте колесо, начиная с diff. Просто добавьте все в систему контроля версий и используйте ее средства сравнения и регистрации. Для простой линейной истории подойдет что-то простое, например, RCS . Или вы можете бросить в него последнюю пушку и использовать git .
Большинство утилит diff делают построчное сравнение. Переполнение стека делает пословное diff. Для этого необходимо что-то вроде wdiff . Большинство систем контроля версий позволяют вам подключать утилиту diff. Из коробки git diff --color-words
замечательно приближается к тому, что здесь делается. Немного поигравшись с настройками, вы, вероятно, сможете заставить его выплевывать то, что вы можете затем превратить в симпатичную веб-страницу.