2012-05-09 2 views
1

HTMLPurifier를 만드는 데 문제가 있습니다. 태그 속성을 필터링하지 않지만 지금까지 성공하지 못하고 있습니다.HTMLPurifier에서 속성 허용

$config = HTMLPurifier_Config::createDefault(); 
    $config->set('Core.Encoding', 'UTF-8'); 
    $config->set('Core.CollectErrors', true); 
    $config->set('HTML.TidyLevel', 'medium'); 
    $config->set('HTML.Doctype', 'XHTML 1.0 Transitional'); 
    $config->set('URI.DisableExternalResources', false); 

    $config->set('HTML.Allowed', 'table[border|width|style],tbody,tr,td,th,img[style|src|alt],span[style],p[style],ul,ol,li,strong,em,sup,sub'); 

    $PHTML = new HTMLPurifier($config); 
    echo htmlspecialchars($PHTML->purify($html)); 

    // The input string: 
    "Some <span style="text-decoration: underline;">cool text</span> <img src="http://someurl.com/images/logo.png" alt="" />. 

    // The output string: 
    "Some <span>cool text</span> <img src="%5C" alt="" />. 

HTML.Allowed 옵션에 정의 된 지정된 요소에 대해 지정된 속성을 허용하려고합니다.

답변

1

마법 인용 부호를 끕니다. 늦은 제안의

+0

시도해 보았지만 이제는 출력 중입니다. 일부 멋진 텍스트 kanevbgbe

+0

여전히 마술 따옴표가 나와 있습니다 ... –

1

비트를 (이 % 5C 주),하지만 난 HTMLPurifier가이 설정을 HTML.Allowed 그들이 구성된 비록 속성 스타일을 제거와 유사한 문제로 실행했습니다.

내가 찾은 해결책은 당신이 또한 보이는 CSS.AllowedProperties를 구성해야이 같은 비트 :

$config->set('CSS.AllowedProperties', 'text-align,text-decoration,width,height'); 

사용이 함께 HTML.Allowed에 : 나는 희망

$config->set('HTML.Allowed', 'img[src|alt|style],span[style]'); 

다른 사람이 유용하다고 생각하면 you can read more about CSS.AllowedProperties here입니다.

관련 문제