Iki web sayfaları arasındaki diffs gösteren herhangi kütüphaneler var mı?

4 Cevap php

Ben herhangi bir dilde bir kitaplık için arıyorum - tercihen PHP rağmen - iki web sayfaları arasındaki farkı gösterecektir. Farklılıklar her bir belgede, ya da başka bir yaratıcı bir şekilde, yan yana gösterilebilir.

Bu gibi görüneceğini örnekler:

Ben bu gibi ham kod diffing için arıyorum değil: http://thinkingphp.org/img/code_coverage_html_diff_view.png. Ben HTML iki takım arasındaki farkı göstermek istemediğin. Ben render, WYSIWYG şeklinde farklılıkları göstermek istiyorum.

I güvenilir her çözeltisi, aşağıdaki sorunlardan bir ya da daha fazla acı:

  • Ben bir elemanın niteliğini ([table border="2"] için örneğin değişiklik [table border="1"]) değiştirirseniz, o zaman (çıkış fazladan bir tablo etiketi olacak örn. {[(2)] }). Ve, diğer etrafında bir ins etiketine sahip olacak iken bir tablo etiketi, etrafında bir del etiketine sahip olacak, ve tabii ki sorunlara neden olur.
  • Ben [html][body][b]some content here[/b][/body][/html] değiştirirseniz [html][body][i]some other content here[/i][/body][/html] o [html][body][b][del]original[/del][i][ins]new[/ins] content here[/b][/i][/body][/html] gibi görünüyor

Ben out-of-the-box fikirler arıyorum. Herhangi bir fikir bekliyoruz.

4 Cevap

Daisy Diff HTML kodunu karşılaştıran bir çok iyi iş yapar java geliştirilen büyük bir fark programdır.

Hatta bir sola gitmek seçeneği ve yapılmış değişiklikleri revize etme hakkına sahiptir. Daisy Diff bu etiketleri içindeki değişiklikleri nitelik işleyebilir böylece güçlü, bir görüntü değiştirildi olmadığını söylemek, ya da bir bağlantı kaldırılır veya güncelleştirilen.

http://code.google.com/p/daisydiff/: Bu bir açık kaynak projesi formu google indirilebilir edilebilir

Ben php değil biliyorum, ama iyi bir html diff olan en iyi şans olabilir. Bu gibi bir satır çalıştırmak için sistem veya shell_exec php yöntemleri kullanın:


java -jar daisydiff.jar http://myPageOld.html    html://myPageNew.html   
--file=result.html 
--output=html 
--type=html

Lütfen fark sonucu ben bunu kullanmanızı tavsiye dosya result.html gidecek!

Görsel HTML fark ürünlerin Here 'sa liste, tartışılmış ve karşılaştırılmıştır.

Bu genel durumda çalışmak için html kod ve oluşturulan sayfanın arasındaki ilişki yeterince tanımlanmış değil. Sen sorunu çözülebilir olması için daha özel olması gerekir.

  • css değişiklikler bu etkilemek
  • Geçersiz html işlemek istiyorum
  • belirli bir tarayıcıda (sürüm) için çözmek daha kolaydır

Eğer sevdim kurulumları biri Vikipedi sayfasından bir ekran görüntüsü. O aradığınız mekanizması diff'ing bir tür, ve PHP olması gerekiyorsa, o zaman neden MediaWiki indirmek ve diff üreten sorumlu kendi kod kısmına bakmak değil?

Muhtemelen bir jenerik bulacağız yakın şey, no-kurulum-ihtiyaç duyulan, out-of-box çözüm. (En azından ben biliyorum yakın şey).