HTML

2010-12-22 21 views
6

içeren bir belgede bir fark kullanma Belgelerin yazılması ve düzenlenmesi için kullanılacak bir sistem için beyin fırtınası sürecindeyim (Google Dokümanlar'ı düşünün, ancak gerçek zamanlı işbirliği olmadan). Bir WYSIWYG editörü kullanacağım, bu yüzden belgeler HTML içerecektir.HTML

Düzenleyiciler belgelerde değişiklik yapar ve orijinal kullanıcı bu düzeltmeleri görmeli ve değişiklikleri el ile yapmalıdır.

HTML etiketleri söz konusu olduğunda bir diff sistemini nasıl kullanabilirim? Değişikliklerin biçimlendirmede görüntülenmesini isterim, örneğin bir şey kalınsa, o zaman bu değişikliği almalıdır. Ayrıca, içerik değişikliklerini normal farklar gibi görünür yapmalı.

Eğer düzenli bir fark sistemi kullanacak olsaydım, HTML'yi normal metin olarak görecekti, ki bu açıkça öyle değil. Herhangi bir işaretçi için teşekkürler!

+0

Düzenli bir fark sistemi kullanırsanız ve HTML'yi normal metin olarak görürseniz, neden bu işe yaramaz? Eğer bir şeyi cesaretlendirirseniz, düzenli farklar kalın etiketler için fazladan metin görecek. HTML etiketlerini kaldırırsanız aynıdır. HTML'de gerçek karşılaştırmayı –

+0

yapın, ancak yan yana gösterdiğinizde html'yi oluşturun. Düzenli fark aracında yapıldığı gibi satırları değişikliklerle vurgulayın. beklendiği gibi çalışmalı. – profitphp

cevap

3

En iyi OSS kitaplığı HTML diffing ile çalıştım DaisyDiff (PHP Version) 'dir. Bu konuyla ilgili farklı HTML veya XML bulaştığını belirten, zahmetli bir yaratıktır. Farklı bir algoritmaya geçmeden önce bazı işlemlerin yapılmasıyla karşılaştırılacak verileri basitleştirebilirseniz, daha iyi sonuçlar alabilirsiniz. Örneğin, gerçekten sadece <p>, <b>, <i> gibi etiketler kullanırsanız, bunları belirtin ve diff-match-patch veya GNU Diff gibi bir fark algoritması kullanın. Daha sonra bu jetonları değiştirin. Bununla ilgili bazı düşünceler için bu diff-match-patch wiki page'a bakın.

+0

DaisyDiff tam olarak aradığım şey. Bu büyük bir yardım, teşekkürler turuncupips. Değiştirmem gereken birkaç şey var (örneğin, DaisyDiff paragraf etiketi değişikliklerini not etmiyor), ancak başlamak için harika bir yer olmalı. –

+0

Not: Paragraf etiketi değişikliği tespitinin eksikliğini gidermek için, paragrafların sonuna kadar otomatik olarak bir ↵ sembolü ekliyorum. Daha sonra, bölünmüş/birleştirilmiş paragraflar alır. –

0

Bunu sıfırdan oluşturmaya çalışırsanız, bir acı dünyasına giriyorsunuz. Hazır bir çözüm bulmayı denedim - google "HTML farklı", bazı satıcıları göreceksiniz.

Yapabileceğiniz bir yaklaşım metnin (şerit etiketleri) çıkarılması ve etiketlenmemiş sürümlerle karşılaştırılmasıdır. Bu çok kolaydır, ancak tam olarak ne istediğinizi gerçekleştirmez - düzeltmeler arasında biçimlendirmeyi karşılaştırmaz.