테스트 사이트 - 개발 중인 베타 버전입니다

그누보드5 이미지맵 오류 질문입니다

gksntm 9년 전 조회 2,140

전체 게시물을 다 뒤져봤습니다.

 

http://sir.co.kr/g5_tip/3099" style="color: rgb(0, 0, 0); text-decoration: none; font-family: 돋움, Dotum, sans-serif; font-size: 14.004px;">http://sir.co.kr/g5_tip/3099에 있는데로 하면 된다고 해서 수정했고,

클릭은 되는데 이동을 안하더군요 

 

common.lib에 있는 html_purifier에  

 

</p><p>function html_purifier($html)</p><p>{</p><p>    $f = file(G5_PLUGIN_PATH.'/htmlpurifier/safeiframe.txt');</p><p>    $domains = array();</p><p>    foreach($f as $domain){</p><p>        // 첫행이 # 이면 주석 처리</p><p>        if (!preg_match("/^#/", $domain)) {</p><p>            $domain = trim($domain);</p><p>            if ($domain)</p><p>                array_push($domains, $domain);</p><p>        }</p><p>    }</p><p>    // 내 도메인도 추가</p><p>    array_push($domains, $_SERVER['HTTP_HOST'].'/');</p><p>    $safeiframe = implode('|', $domains);</p><p> </p><p>    include_once(G5_PLUGIN_PATH.'/htmlpurifier/HTMLPurifier.standalone.php');</p><p>    $config = HTMLPurifier_Config::createDefault();</p><p>    // data/cache 디렉토리에 CSS, HTML, URI 디렉토리 등을 만든다.</p><p>    $config->set('Cache.SerializerPath', G5_DATA_PATH.'/cache');</p><p>    $config->set('HTML.SafeEmbed', false);</p><p>    $config->set('HTML.SafeObject', false);</p><p>    $config->set('Output.FlashCompat', false);</p><p>    $config->set('HTML.SafeIframe', true);</p><p>    $config->set('URI.SafeIframeRegexp','%^(https?:)?//('.$safeiframe.')%');</p><p>    $config->set('Attr.AllowedFrameTargets', array('_blank'));</p><p>    $purifier = new HTMLPurifier($config);</p><p>    return $purifier->purify($html);</p><p>}</p><p>

 

여기에서 

 

</p><p><span style="font-size: 14.6667px;">$config->set('Attr.AllowedFrameTargets', array('_blank'));</span> </p><p><span style="font-size: 14.6667px;">

 

밑에 소스를 추가하여 결과적으로 아래와 같이 수정하였습니다.

 

</span></p><p><span style="font-size: 14.6667px;">// <a href="<a href="http://htmlpurifier.org/" target="_blank" rel="noopener noreferrer">http://htmlpurifier.org/</a>"><a href="http://htmlpurifier.org/" target="_blank" rel="noopener noreferrer">http://htmlpurifier.org/</a></a></span></p><p><span style="font-size: 14.6667px;">// Standards-Compliant HTML Filtering</span></p><p><span style="font-size: 14.6667px;">// Safe  : HTML Purifier defeats XSS with an audited whitelist</span></p><p><span style="font-size: 14.6667px;">// Clean : HTML Purifier ensures standards-compliant output</span></p><p><span style="font-size: 14.6667px;">// Open  : HTML Purifier is open-source and highly customizable</span></p><p><span style="font-size: 14.6667px;">function html_purifier($html)</span></p><p><span style="font-size: 14.6667px;">{</span></p><p><span style="font-size: 14.6667px;">    $f = file(G5_PLUGIN_PATH.'/htmlpurifier/safeiframe.txt');</span></p><p><span style="font-size: 14.6667px;">    $domains = array();</span></p><p><span style="font-size: 14.6667px;">    foreach($f as $domain){</span></p><p><span style="font-size: 14.6667px;">        // 첫행이 # 이면 주석 처리</span></p><p><span style="font-size: 14.6667px;">        if (!preg_match("/^#/", $domain)) {</span></p><p><span style="font-size: 14.6667px;">            $domain = trim($domain);</span></p><p><span style="font-size: 14.6667px;">            if ($domain)</span></p><p><span style="font-size: 14.6667px;">                array_push($domains, $domain);</span></p><p><span style="font-size: 14.6667px;">        }</span></p><p><span style="font-size: 14.6667px;">    }</span></p><p><span style="font-size: 14.6667px;">    // 내 도메인도 추가</span></p><p><span style="font-size: 14.6667px;">    array_push($domains, $_SERVER['HTTP_HOST'].'/');</span></p><p><span style="font-size: 14.6667px;">    $safeiframe = implode('|', $domains);</span></p><p><span style="font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;">    include_once(G5_PLUGIN_PATH.'/htmlpurifier/HTMLPurifier.standalone.php');</span></p><p><span style="font-size: 14.6667px;">    $config = HTMLPurifier_Config::createDefault();</span></p><p><span style="font-size: 14.6667px;">    // data/cache 디렉토리에 CSS, HTML, URI 디렉토리 등을 만든다.</span></p><p><span style="font-size: 14.6667px;">    $config->set('Cache.SerializerPath', G5_DATA_PATH.'/cache');</span></p><p><span style="font-size: 14.6667px;">    $config->set('HTML.SafeEmbed', false);</span></p><p><span style="font-size: 14.6667px;">    $config->set('HTML.SafeObject', false);</span></p><p><span style="font-size: 14.6667px;">    $config->set('Output.FlashCompat', false);</span></p><p><span style="font-size: 14.6667px;">    $config->set('HTML.SafeIframe', true);</span></p><p><span style="font-size: 14.6667px;">    $config->set('URI.SafeIframeRegexp','%^(https?:)?//('.$safeiframe.')%');</span></p><p><span style="font-size: 14.6667px;">    $config->set('Attr.AllowedFrameTargets', array('_blank'));</span></p><p><span style="font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;">//소스 추가 시작</span></p><p><span style="font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;">    $def = $config->getHTMLDefinition(true); </span></p><p><span style="font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;">// Add usemap attribute to img tag </span></p><p><span style="font-size: 14.6667px;">    $def->addAttribute('img', 'usemap', 'CDATA'); </span></p><p><span style="font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;">// Add map tag </span></p><p><span style="font-size: 14.6667px;">    $map = $def->addElement( </span></p><p><span style="font-size: 14.6667px;">            'map', // name </span></p><p><span style="font-size: 14.6667px;">            'Block', // content set </span></p><p><span style="font-size: 14.6667px;">            'Flow', // allowed children </span></p><p><span style="font-size: 14.6667px;">            'Common', // attribute collection </span></p><p><span style="font-size: 14.6667px;">            array(// attributes </span></p><p><span style="font-size: 14.6667px;">        'name' => 'CDATA', </span></p><p><span style="font-size: 14.6667px;">        'id' => 'ID', </span></p><p><span style="font-size: 14.6667px;">        'title' => 'CDATA', </span></p><p><span style="font-size: 14.6667px;">            ) </span></p><p><span style="font-size: 14.6667px;">    ); </span></p><p><span style="font-size: 14.6667px;">    $map->excludes = array('map' => true); </span></p><p><span style="font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;">// Add area tag </span></p><p><span style="font-size: 14.6667px;">    $area = $def->addElement( </span></p><p><span style="font-size: 14.6667px;">            'area', // name </span></p><p><span style="font-size: 14.6667px;">            'Block', // content set </span></p><p><span style="font-size: 14.6667px;">            'Empty', // don't allow children </span></p><p><span style="font-size: 14.6667px;">            'Common', // attribute collection </span></p><p><span style="font-size: 14.6667px;">            array(// attributes </span></p><p><span style="font-size: 14.6667px;">        'name' => 'CDATA', </span></p><p><span style="font-size: 14.6667px;">        'id' => 'ID', </span></p><p><span style="font-size: 14.6667px;">        'alt' => 'Text', </span></p><p><span style="font-size: 14.6667px;">        'coords' => 'CDATA', </span></p><p><span style="font-size: 14.6667px;">        'accesskey' => 'Character', </span></p><p><span style="font-size: 14.6667px;">        'nohref' => new HTMLPurifier_AttrDef_Enum(array('nohref')), </span></p><p><span style="font-size: 14.6667px;">        'href' => 'URI', </span></p><p><span style="font-size: 14.6667px;">        'shape' => new HTMLPurifier_AttrDef_Enum(array('rect', 'circle', 'poly', 'default')), </span></p><p><span style="font-size: 14.6667px;">        'tabindex' => 'Number', </span></p><p><span style="font-size: 14.6667px;">        'target' => new HTMLPurifier_AttrDef_Enum(array('_blank', '_self', '_target', '_top')) </span></p><p><span style="font-size: 14.6667px;">            ) </span></p><p><span style="font-size: 14.6667px;">    ); </span></p><p><span style="font-size: 14.6667px;">    $area->excludes = array('area' => true);</span></p><p><span style="font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;">//소스 추가 종료</span></p><p><span style="font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;">    $purifier = new HTMLPurifier($config);</span></p><p><span style="font-size: 14.6667px;">    return $purifier->purify($html);</span></p><p> </p><p><span style="font-size: 14.6667px;">}</span></p><p><span style="font-size: 14.6667px;">

 

 

클릭은 됩니다.

 

주소창에 해당 id값이 주소 url 맨 뒤에 #으로 붙더군요.

 

#hd 와 같이 상단 올라가는 버튼처럼 url에 추가되는건 확인을 했는데 이동을 하지 않습니다.

 

이럴 경우 어떻게 해결하면 되겠는지요.

 

*아참... 그누보드가 5.2.2 버전입니다

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

9년 전

htmlpurifier 플러그인을 업데이트 해보세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인