Bir dize eşsiz HTML etiketlerini kaldır

2 Cevap php

Millet herkes bir dizeden eşsiz HTML etiketlerini kaldırmak için bir PHP fonksiyon bilir yapar. örneğin, <div> This is a string <b> with an unmatched bold tag </div>. Bir sonra belki etiketleri açılış ve kapanış etiketleri eşleşen sayar bir işleve sahip olabilir, bana bir yardım buld yoksa. Değilse o zaman bile ilk açılış etiketi kaldırmak veya kapanış etiketleri daha fazla ise, bu son etiketi kaldırır?

2 Cevap

Ben bir işlevi vardır inanmıyorum. Ne yapmak istediğinizi tidy gibi bir şey kullanmak olan PHP desteği (PHP Tidy). Tidy sizin için HTML temizlemek olacaktır. Ayrıca, don't düzenli ifadeleri kullanarak bu sorunu çözmek için fikir olsun lütfen! ;)

İşte HTML toplama bahsediyor Zend bir öğretici olduğunu:

Kural yapısı çeşit kalmaksızın bu çok mümkün değil. Eğer standartları takip etmek istiyorsanız, (yani, bir taşıyıcı blok dışında bir </b> mola yok), bu doğrulamak için regex ile bir lookahead yapabilirsiniz </b> önce bulundu </div> bulunur.

http://www.regular-expressions.info/lookaround.html