From 5abc41cdb93fdd18bcab934a6a88dca883d9324e Mon Sep 17 00:00:00 2001 From: thisgun Date: Wed, 27 Dec 2017 09:14:48 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B2=8C=EC=8B=9C=ED=8C=90=20=EA=B8=80?= =?UTF-8?q?=EC=93=B0=EA=B8=B0=20iframe=20=ED=97=88=EC=9A=A9=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin/htmlpurifier/extend.video.php | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/plugin/htmlpurifier/extend.video.php b/plugin/htmlpurifier/extend.video.php index df9f2367e..8ba346a47 100644 --- a/plugin/htmlpurifier/extend.video.php +++ b/plugin/htmlpurifier/extend.video.php @@ -21,11 +21,24 @@ if( !class_exists('HTMLPurifier_Filter_Iframevideo') ){ */ public function preFilter($html, $config, $context) { - $html = preg_replace('##i', '', $html); + if (strstr($html, ']*>(.*?)?\/iframe>/si', array($this, 'trust_url_match'), $html); + $html = preg_replace_callback('/]*>(.*?)?\/iframe>/si', array($this, 'trust_url_match'), $html); + //$html = preg_replace('##i', '', $html); + } return $html; } + public function trust_url_match($matches) + { + $str = $matches[0]; + if( $matches[1] ){ + $str = preg_replace('##i', '', $str); + } + return $str; + } /** * * @param string $html @@ -48,7 +61,7 @@ if( !class_exists('HTMLPurifier_Filter_Iframevideo') ){ { // Domain Whitelist $youTubeMatch = preg_match('#src="https?://www.youtube(-nocookie)?.com/#i', $matches[1]); - $vimeoMatch = preg_match('#src="http://player.vimeo.com/#i', $matches[1]); + $vimeoMatch = preg_match('#src="https?://player.vimeo.com/#i', $matches[1]); if ($youTubeMatch || $vimeoMatch) { $extra = ' frameborder="0"'; if ($youTubeMatch) {