Etiketlerini bozmadan HTML parçaları klibi nasıl?

3 Cevap php

Ben HTML biçimlendirme içeren 200 karakter dizesi var demek. Ben sadece ilk 50 karakter önizlemesini göstermek istiyorum. Etiketleri 'parçalanıyor' olmadan. Diğer bir deyişle, bir fragman </b> olmayan bir <b> içermemelidir. Herhangi bir sunucu tarafı işleme PHP olmalıdır.

3 Cevap

You should check out Tidy HTML. Sadece fix HTML Tidy ile çalıştırmak sonra, ilk 50 HTML olmayan karakterden sonra kesti.

Basit bir yaklaşım strip_tags() önce ve sonra alıntıyı yakalamak olabilir.

Kısa cevap: DOMDocument::loadHTML($string) daha sonra metin düğümlerin karakterleri sayma ağaç yürümek ile DOM dönüştürmek. Eğer sınırı vurduğunuzda, '...' ile bu düğüm kalanını değiştirmek veya boş dize, ve sadece sonraki tüm düğümler üzerinde $node->parentNode->removeChild($node) diyoruz.