【发布时间】:2020-06-10 01:40:18
【问题描述】:
由于某种原因,HTMLPurifier 似乎正在从 iframe 中删除 allowfullscreen 元素,我不知道为什么,我做了一些研究,但似乎找不到几年前的答案。以下是我启动净化器的方法。
require 'htmlpurify/library/HTMLPurifier.auto.php';
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.TargetBlank', 'true');
$config->set('HTML.SafeIframe', true);
$config->set('URI.SafeIframeRegexp', '%^(https?:)?//(www\.youtube(?:-nocookie)?\.com/embed/|player\.vimeo\.com/video/)%');
$config->set('HTML.DefinitionID', 'usertag');
$config->set('HTML.DefinitionRev', 1);
if ($def = $config->maybeGetRawHTMLDefinition()) {
$def->addElement('user', 'Block', 'Flow', 'Common', array('name' => 'ID'));
}
$purifier = new HTMLPurifier($config);
我正在净化这个 <iframe title="YouTube Player" src="https://www.youtube.com/embed/J---aiyznGQ" width="560" height="315" frameborder="0" allowfullscreen></iframe>,但它只是删除了 allowfullscreen 元素。
我的正则表达式错了吗?有没有我不应该添加的东西,或者我缺少的东西?
【问题讨论】:
标签: php htmlpurifier