Html alıntı ile nasıl başa çıkılır?

3 Cevap php

Bu aşağıda gibi kapalı olmayan etiketlerin bir sürü tanıttı:

<div>
<table>...</table>

</div> gibi bu kodu tarafından kesilir:

(strlen($row['body']) > 200 ? substr($row['body'],0,200) . '...' : $row['body'])

Ve tam sayfa düzeni onunla nasıl başa, kırık?

3 Cevap

$row['body'] 200 görünür karakter kesilmesini istediğiniz HTML içeren varsayarsak:

Strip out HTML Tags

Bu hızlı düzeltme ama ne istediğiniz olmayabilir:

$body= strip_tags($row['body']);
echo(strlen($body) > 200 ? substr($body,0,200) . '...' : $body);

Parse HTML and truncate text

Eğer içerik metnin uzunluğunu saymak, HTML etiketleri içinde metnin uzunluğunu kontrol, HTML ayrıştırmak ve ({[bulunan HTML karakter sınırı sonra herhangi etiketlerini kaldırabilirsiniz PHP'nin DOMDocument sınıfını kullanma 1)]}, iyi biçimlendirilmiş HTML koruyarak.

Burada geçerli HTML içeren bir yazı önizleme veya alıntı oluşturmak için nasıl bir örnektir. Bu leepowers önerdiği gibi PHP'nin DOMDocument kullanarak HTML ayrıştırır:

http://bizzybytes.com/html-excerpt-php

Ben kısalık için bunu yapmamışlar varsayıyorum ama hiç etiketleri görmek

olmalıdır

<div>
<table><tr><td>...</td></tr></table>

Ayrıca $ üste gömülü olabilecek aşağıdaki html ['body'] kullanın

(strlen($row['body']) > 200 ? substr($row['body'],0,200) . '...' : htmlspecialchars($row['body']))

DC