删除除youtube embed之外的所有html iframe

时间:2015-09-03 14:25:15

标签: php html5 htmlpurifier

我想删除所有html iframe,但我想保留Youtube嵌入HTMLpurifier。我四处寻找答案,但没有解决这个问题。

到目前为止我写的代码

<?php

include "htmlpurifier-config.php";
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.Trusted', true);
$config->set('HTML.SafeIframe', true);
$config->set('CSS.AllowedProperties', array());
$config->set('HTML.ForbiddenElements', 'a,script,iframe');
$config->set('HTML.ForbiddenAttributes', 'height,width');
$config->set('URI.SafeIframeRegexp', '%^(https?:)?//(www\.youtube(?:-nocookie)?\.com/embed/|player\.vimeo\.com/video/)%'); //allow YouTube and Vimeo
$purifier = new HTMLPurifier($config);

$text = $purifier->purify($document);

?>

我认为我遇到的问题是:$config->set('HTML.ForbiddenElements', 'a,script,iframe');会移除所有iframe和脚本标记,包括Youtube嵌入。有没有办法删除除Youtube嵌入之外的所有iframe和脚本?

请帮助,谢谢:)

0 个答案:

没有答案