Bu, HTMLPurifier'da izin vermek istediğim etiketlerin özel bir kombinasyonudur, ancak kombinasyonun işe yaramayacağı anlaşılıyor.HTMLPurifier'ta komut, nesne, param, katıştır ve iframe etiketlerine nasıl izin veririm?
Çalıştırmak için komut dosyası etiketlerini bulabilirim, ancak sonra da etiketler kaldırılır (HTML.Trusted = true ile komut dosyası etiketlerini etkinleştiririm). Etiketleri tekrar gömdüğümde, komut dosyası etiketleri çıkarılır (HTML.Trusted'ı kaldırırım).
$config->set('HTML.Trusted', true);
$config->set('HTML.SafeEmbed', true);
$config->set('HTML.SafeObject', true);
$config->set('Output.FlashCompat', true);
Hatta kötü şeyler yapılır aşağıda ekleyerek çalıştı: Ayrıca
$config->set('HTML.Allowed', 'object[width|height|data],param[name|value],embed[src|type|allowscriptaccess|allowfullscreen|width|height],script[src|type]');
, ben iframe'lerin Ne olursa olsun işe gitmek için görünmüyor olabilir aşağıdaki benim yapılandırma olduğunu. Ben ekleyerek çalıştı:
$config->set('HTML.DefinitionID', 'enduser-customize.html iframe');
$config->set('HTML.DefinitionRev', 1);
$config->set('Cache.DefinitionImpl', null); // remove this later!
$def = $config->getHTMLDefinition(true);
$iframe = $def->addElement(
'iframe', // name
'Block', // content set
'Empty', // allowed children
'Common', // attribute collection
array(// attributes
'src*' => 'URI#embedded',
'width' => 'Pixels#1000',
'height' => 'Pixels#1000',
'frameborder=' => 'Number',
'name' => 'ID',
)
);
$iframe->excludes = array('iframe' => true);
nesne/param ve embed ile, hatta komut dosyası etiketleri çalışmak için tüm combo alma konusunda herhangi bir yardım büyük mutluluk duyacağız !!!
Evet, bu kesinlikle tüm kullanıcılar için değil, sadece "özel" kullanıcılar içindir.
Teşekkürler! http://htmlpurifier.org/phorum/read.php?3,4646
akım: -
PS burada dişin alt kısmında iframe eklemek için ben bir çözüm buldum
http://htmlpurifier.org/docs/enduser-customize.html
GÜNCELLEME beni bağlamak etmeyiniz yapılandırması şu anda:
$config->set('HTML.Trusted', true);
$config->set('HTML.SafeEmbed', true);
$config->set('HTML.SafeObject', true);
$config->set('Output.FlashCompat', true);
$config->set('Filter.Custom', array(new HTMLPurifier_Filter_MyIframe()));
Eğer HTMLPurifier forumda benim yorum ile sorun yaşıyorsanız ben yöntem bu gibi görünmek için ne anlama çünkü UPDATE İÇİN
GÜNCELLEME
, bu olabilir:
public function preFilter($html, $config, $context) {
return preg_replace("/iframe/", "img class=\"MyIframe\" ", preg_replace("/<\/iframe>/", "", $html));
}
"HTML Purifier kullanmayın." :-) –
HTML Arıtma kayaları! Neden onu kullanmak istemiyorum? ;) – shmuel613
Gerçekten doğru olması için, muhtemelen HTMLPurifier_Filter'ı genişletmeniz gerekir. Çözüm, aksi halde harika; Bunun yerine güvendiğim bu ancak beyaz listeye ekleyen alanları kullanıyorum (ör. Youtube'un yeni iframe katıştırması). –