Php kullanarak satır içi stilleri Çıkarma

7 Cevap php

Bazı zengin metin çıktısı php kullanıyorum. Ben Nasıl tamamen inline stilleri dışarı şerit olabilir?

The text will be pasted straight out of MS Word, or OpenOffice, and into a which uses TinyMCE, a Rich-Text editor which allows you to add basic HTML formatting to the text. However I want to remove the inline styles on the

etiketleri (aşağıya bakınız), ancak

Etiketleri kendilerini korumak.

<p style="margin-bottom: 0cm;">A patrol of Zograth apes came round the corner, causing Rosette to pull Rufus into a small alcove, where she pressed her body against his. &ldquo;Sorry.&rdquo; She said, breathing warm air onto the shy man's neck. Rufus trembled.</p>
<p style="margin-bottom: 0cm;">&nbsp;</p>
<p style="margin-bottom: 0cm;">Rosette checked the coast was clear and pulled Rufus out of their hidey hole. They watched as the Zograth walked down a corridor, almost out of sight and then collapsed next to a phallic fountain. As their bodies hit the ground, their guns clattered across the floor. Rosette stopped one with her heel and picked it up immediately, tossing the other one to Rufus. &ldquo;Most of these apes seem to be dying, but you might need this, just to give them a helping hand.&rdquo;</p>

7 Cevap

Ben hızla birlikte bu koymak, ama 'inline stilleri için' (!) Gibi bir şey gerekir

$text = preg_replace('#(<[a-z ]*)(style=("|\')(.*?)("|\'))([a-z ]*>)#', '\\1\\6', $text);

Kullan HtmlPurifier

Düzenli ifadeleri kullanabilirsiniz:

$text = preg_relace('#<(.+?)style=(:?"|\')?[^"\']+(:?"|\')?(.*?)>#si', '<a\\1 \\2>', $text);

İşte Crozin cevabı türetilmiş bir preg_replace çözümdür. Bu bir önce ve stil özniteliği çapa etiketleri ile sorunu düzelttikten sonra nitelikleri sağlar.

$value = preg_replace('/(<[^>]*) style=("[^"]+"|\'[^\']+\')([^>]*>)/i', '$1$3', $value);

Sadece sayisinda strip_tags kullanmak ve örneğin <p>, <strong> vb istediğiniz etiketleri bırakamazdı?

Neden sadece etiketleri üzerine yoktur. Yani inline stil olmadan temiz etiketleri olacaktır.

Ben şerit özelliklerini (özellikle burada metin üzerinden tüm biçimlendirme deli MS Word var) yapmak için bu sınıf çok yararlı buldum:

http://semlabs.co.uk/journal/php-strip-attributes-class-for-xml-and-html