Можно ли выделить изменения в одном текстовом абзаце из другого?
Например, в базе данных имеется 3 текстовых поля. Пользователи, не являющиеся администраторами, могут редактировать текст и отправлять на утверждение. Когда администратор входит в систему, (ы) он может открыть страницу одобрения, и он показывает исходный текст и текст, представленный пользователем, с изменениями. Обычно эти модификации очень малы по своему характеру, такие как коррекция орфографии или просто удаление или добавление предложения.
Может ли он быть представлен таким образом, чтобы изменения (из исходного текста) были подсвечены так, что пользователям-администратору не нужно проверять каждое поле и каждую строку до их утверждения?
Любая помощь будет оценена по достоинству. Благодарю.
Обновлено: немного похоже на подсветку кода TortoiseSVN.
Опции:
Архив Stackoverflow:
Если вы знакомы с инструментами GNU / Linux, вы можете быть знакомы с инструментом `diff '.
И кто-то написал полностью функциональный diff для сравнения файлов / строк в php.
Вы можете найти его здесь: php diff example .
Это старая нить, но я думал, что буду каталогизировать мои выводы.
Если вы хотите использовать raw php, это, безусловно, самое простое, быстрое и эффективное решение, которое я нашел: http://paulbutler.org/archives/a-simple-diff-algorithm-in-php/
Из того, что я могу сказать, автор вышеуказанного кода использует алгоритм, описанный в этой статье: http://www.codeproject.com/Articles/6943/A-Generic-Reusable-Diff-Algorithm-in-C-II
Основное описание происходящего (взято из статьи):
Работает как шарм!