YouTubeとVimeoのためにHTMLPurifierをiframe
として受け入れるように設定しようとしています。これに関連する多くの郵便は年を切っているように見え、そして/または単に働かない。私が得ることができる最も近いものはiframe
を保存していますが、src
は削除されています。HTMLPurifierでYouTubeを取り除く
これは私が現時点で持っているものです(出力時にはiframe
が削除されています)。私はこの質問が何度も尋ねられているが、何も私のために働いていることを認識しています。前もって感謝します!
UPDATE
私はまたしてもYouTubeのためのデフォルトの設定の設定がありmewebstudio/Purifier
、https://github.com/mewebstudio/Purifierを、試してみました。 iframeはまだ削除されています。私は何が欠けていますか?
// HTMLPurifier
$config = \HTMLPurifier_Config::createDefault();
$config->set('HTML.Doctype', 'HTML 4.01 Transitional');
$config->set('AutoFormat.RemoveEmpty.Predicate', [
'colgroup' =>
[],
'th' =>
[],
'td' =>
[],
'o:p' =>
[]
]);
$config->set('AutoFormat.RemoveEmpty', true);
$config->set('AutoFormat.RemoveEmpty.RemoveNbsp', true);
$config->set('HTML.Allowed', 'p,span[style|class],a[href|title],abbr[title],acronym[title],b,strong,blockquote[cite],code,em,i,iframe[src|width|height],img[alt|title|class|src|height|width],h1,h2,h3,h3,ol,ul,li,table[class|style],tr,td,hr');
$config->set('HTML.SafeIframe', true);
$config->set('URI.SafeIframeRegexp', '%^(\/\/www\.youtube(?:-nocookie)?\.com\/embed\/|\/\/player\.vimeo\.com\/)%');
$def = $config->getHTMLDefinition(true);
$def->addAttribute('iframe', 'allowfullscreen', 'Bool');
$purifier = new \HTMLPurifier($config);
$input['body'] = $purifier->purify($input['body']);