EOND
HOSTING
WEBDeveloper
FreelancerCafe
Threads

htmlpurifier가 공식적으로 html5를 지원하지 않아 태그 허용할 경우 지원하지 않는 태그라고 오류를 출력합니다.

 

조만간 html5를 지원하겠지만, 현재는 아래처럼 설정해서 video 태그를 포함한 html5 태그를 정의하고 사용할 수 있도록 해주시면 됩니다.

 

html5 태그를 일일이 지정해 주면 다 사용할 수 있겠지만, 여기서는 미디어 관련 태그만 이야기 드립니다.

 

※  아미나빌더 1.4.7 버전 기준으로 /lib/common.lib.php 파일의 html_purifier() 함수 내의 내용을 아래처럼 변경해 줍니다.

 

$config->set('Attr.AllowedFrameTargets', array('_blank'));
$purifier = new HTMLPurifier($config);
return $purifier->purify($html);

위 부분을 찾아서 $purifier 윗줄에 아래 코드를 작성해주세요.

이렇게 수정해 주시면 iframe, video, embed, object, figure 등 다 글내용에서 사용이 가능합니다.

596라인부터 교체한다고 생각하시면 됩니다.

// HTML5 properties
   $config->set('HTML.DefinitionID', 'html5-definitions');
   $config->set('HTML.DefinitionRev', 1);
   if ($def = $config->maybeGetRawHTMLDefinition()) {
      $def->addElement('figure', 'Block', 'Optional: (figcaption, Flow) | (Flow, figcaption) | Flow', 'Common');
      $def->addElement('figcaption', 'Inline', 'Flow', 'Common');
      $def->addElement('video', 'Block', 'Optional: (source, Flow) | (Flow, source) | Flow', 'Common', array(
         'src' => 'URI',
         'type' => 'Text',
         'width' => 'Length',
         'height' => 'Length',
         'poster' => 'URI',
         'preload' => 'Enum#auto,metadata,none',
         'controls' => 'Bool',
      ));
      $def->addElement('source', 'Block', 'Flow', 'Common', array(
         'src' => 'URI',
         'type' => 'Text',
      ));
      $def->addAttribute('iframe', 'allowfullscreen', 'Bool');
   }
//여기까지



 


Type something
0
댓글은 로그인 사용자만 작성 가능합니다. 로그인하기