PHP: 2 diziler arasındaki görsel fark

2 Cevap php

Ben bu diziler ettik:

<?php

// New
$array1 = array(
    array(
        'g_id' => '1',
        'g_title' => 'Root Admin',
        'g_perm_id' => '1',
        'g_bitoptions' => '0'
    ),
    array(
        'g_id' => '2',
        'g_title' => 'Member',
        'g_perm_id' => '2',
        'g_bitoptions' => '32'
    ),
    array(
        'g_id' => '3',
        'g_title' => 'Banned',
        'g_perm_id' => '3',
        'g_bitoptions' => '0'
    )
);

// Old
$array2 = array(
    array(
        'g_id' => '1',
        'g_title' => 'Admin',
        'g_perm_id' => '1',
        'g_bitoptions' => '0'
    ),
    array(
        'g_id' => '2',
        'g_title' => 'User',
        'g_perm_id' => '2',
        'g_bitoptions' => '0'
    ),
    array(
        'g_id' => '4',
        'g_title' => 'Validating',
        'g_perm_id' => '4',
        'g_bitoptions' => '0'
    )
);

What I'm want is an HTML visual difference between them, like this picture: diff

Burada kimse bunu herhangi bir 3. parti sınıf bilir? Bazı bakarak oldum ama bunların hiçbiri vardı. = /

Şimdiden teşekkür ederim.

2 Cevap

this might not be directly related to your question. If you examine the sample image from the link, I am afraid the highlighted area is defined by javascript and/or rather than PHP - justification : because you cannot tell a simple diff() algorithm to get highlighting in that way.

Yani, böyle bir şey deneyin:

Eğer tarayıcınızda bir şey "yazdırarak" Ne zaman, diyelim ki, renk özelliklerini atamak

<php code>
    <div class="red">blah blah blah</div>
    <div class="green">blah blah blah</div>
</php code>

Farklı parçaları bulmak için, ve böylece ilgili sınıf özelliklerini oluşturmak için: php kodu yalnızca sunucu tarafında bir şey yapmak gerekir.

Üzgünüm gerçekten şu anda sizin için bir çözüm yazmak için vaktim yok.

Bir kelimeyle, yürütme şöyle:

  1. Sunucu tarafında php nesneler var
  2. Farkı bulmak için php kullanın
  3. Saf html kodu yazdırmak için php kullanın
  4. Bulundukları bölgeyi vurgulamak için css kullanın

Bunu eminim. Ve bu şekilde yapmanın bir avantajı şeyler olacak ekranda benziyor olması nasıl keyfi kontrole sahip olmasıdır.

Diğer html etiketleri ile birlikte tüm stilleri kodlamalısınız, yani, sunucu tarafında her şeyi yapabilirsiniz kesinlikle kullanın

ARMUT Text_Diff bak. http://www.hawkee.com/snippet/2238/ gösterilen Kullanımı

Sonra metin var_export arasında diff ($ dizi1, DOĞRU) ve var_export ($ dizi2 DOĞRU) yapmak ve istediği gibi çıktıyı var olacaktır.

PS. Text_Diff proje sayfasına göre: ". Bu paket almıştır, ama hala hata ve güvenlik düzeltmeleri için tutulur Paketi kanal pear.horde.org, paket Horde_Text_Diff taşındı."