From 9489254bbfa97759cabe20dac15747923452df34 Mon Sep 17 00:00:00 2001 From: kkigomi Date: Thu, 1 Jun 2023 18:15:26 +0900 Subject: [PATCH] =?UTF-8?q?`html=5Fpurifier()`=20=ED=95=A8=EC=88=98?= =?UTF-8?q?=EC=97=90=20`html=5Fpurifier=5Fconfig`=20=EC=9D=B4=EB=B2=A4?= =?UTF-8?q?=ED=8A=B8=20Hook=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 리스너에서는 첫번째 인자로 `HTMLPurifier_Config` 객체를 받아 설정을 변경할 수 있다 --- lib/common.lib.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/common.lib.php b/lib/common.lib.php index afafb2ba3..a1d8c3a9a 100644 --- a/lib/common.lib.php +++ b/lib/common.lib.php @@ -640,6 +640,18 @@ function html_purifier($html) $config->set('Attr.AllowedFrameTargets', array('_blank')); //유튜브, 비메오 전체화면 가능하게 하기 $config->set('Filter.Custom', array(new HTMLPurifier_Filter_Iframevideo())); + + /* + * HTMLPurifier 설정을 변경할 수 있는 Event hook + * 리스너에서는 첫번째 인자($config)로 `HTMLPurifier_Config` 객체를 받을 수 있다 + */ + run_event('html_purifier_config', $config, array( + 'html' => $html, + 'write' => $write, + 'is_admin' => $is_admin + ) + ); + $purifier = new HTMLPurifier($config); return run_replace('html_purifier_result', $purifier->purify($html), $purifier, $html); }