![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: нет Всего: 137 |
Задача: сравнить два текста, набранных через визуальный редактор, и подсветить разницу. Детали не суть важны -- главное, чтобы сравнивал тексты и внятно выдавал, что нового.
Интересуют готовые решения -- сам написать могу, но некогда ![]() Сразу насчёт Wiki-движков: важно сравнение именно HTML-я, а не Вики-разметки (не по идеологическим причинам -- просто моим пользователям смертельно нужна вставка из Ворда). Если знаете открытые движки, из которых такое можно выдрать, напишите, пожалуйста. Это сообщение отредактировал(а) dm9 - 28.7.2008, 16:42 |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
Проще, как мне кажется воспользоваться утилитой diff ОС.
http://pear.php.net/package/Text_Diff/redirected http://www.hawkee.com/snippet/2238/ http://www.zend.com//code/codex.php?ozid=1381&single=1 Можешь еще тут посмотреть: http://www.phpclasses.org/ |
|||
|
||||
dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: нет Всего: 137 |
То есть приводить HTML к тексту и затем сравнивать. Видимо, так и буду делать. Скорее всего использую pear, чтобы под Windows тоже работало - так тестировать проще.
Спасибо, Mal Hack ![]() Но всё же вакантное место для сравнения именно HTML пока открыто ![]() |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 5 Всего: 146 |
Полностью согласен - луше использовать готовые и проверенные системные средства, чем изобретать новые велосипеды на PHP.
Так же можно воспользоваться экстеншеном xdiff Добавлено через 2 минуты и 46 секунд А в чем сравнение HTML должно отличается от сравнения plain text? |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
dm9, а что тебе мешает тже самое с html сделать? У тебя редактор какой, text/plain или WYSWIG?
На входе формат данных какой? |
|||
|
||||
dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: нет Всего: 137 |
На входе WYSWIG. Проблема в том, что diff обнаружит разницу между <b>text</b> и <i>text</i>, а текущие версии сравнения текста такие вещи подсвечивать не умеют. Как можно было бы ("идеал").
1. Не заставлять меня самого чистить HTML и преврашать его в text/plain (могла бы и библиотека делать =)). 2. Можно было бы оставлять конечный HTML в выдаче результатов, подсвечивая разность именно контента (а не оформления), но тем не менее не лишаясь совершенно оформительских прелестей при просмотре диффа. Добавлено через 3 минуты и 5 секунд
Собственно, форматом выдачи результата диффа конечному пользователю (который, надо учесть, не знает HTML и слова "тег" не слышал). Добавлено через 6 минут и 24 секунды Спасибо, посмотрел. К сожалению, тоже только под nix. Мне просто хочется оставить 100% работоспособности под Windows, так отлаживать проект проще. |
|||
|
||||
Anarki |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 14.3.2005 Репутация: 2 Всего: 11 |
Попробуйте вот это horde framework, в фреймворк включен модуль Text_Diff (lib/Text/Diff.php), который поддерживает несколько "движков" для diff'a в том числе и xdiff, diff и нативного(целиком на php)
Добавлено через 51 секунду Его чуть переделанная версия идет в wordpress Добавлено через 3 минуты и 42 секунды diff есть под винду консольный тут http://sourceforge.net/projects/unxutils/ |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Тексты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |