2012-11-05 4 views
3

사용자가 PHP 응용 프로그램 용 CSS를 사용자 정의 할 수 있도록 허용해야한다는 요구 사항이 있습니다. 일반적으로 해당 사용자 만이 사용자 정의 CSS를 볼 수 있지만 그룹의 다른 사용자도 CSS를 볼 수 있으므로 해당 사용자가 CSS를 볼 필요가있을 수 있습니다.PHP에서 CSS 살균 - 루비 대안?

HTMLPurifier 및 CSSTidy를 PHP에 사용할 수 있지만 CSSTidy는 매우 오래되었고 분명히 우리가 처리해야하는 모든 것을 처리 할 수 ​​없다는 것을 알고 있습니다.

나는 이것을 할 수있는 다른 PHP 라이브러리를 발견하지 못했습니다.

내가 탐구하고있는 대안 중 하나는 루비 라이브러리 (http://apidock.com/rails/HTML/WhiteListSanitizer/sanitize_css 또는 https://github.com/courtenay/css_file_sanitize/blob/master/lib/css_sanitize.rb)를 가져 와서 PHP로 변환하는 것입니다.

내가 그 길을 가기 전에 위의 대안이 있습니까? 그리고 Ruby 라이브러리 중 하나를 사용하기 전에 내가 알아야 할 함정이 있습니까?

+0

왜 HTMLPurifier가 여기에 적합한 옵션이 아닌가요? 네 사건에 대한 죄책감은 뭐니? – raina77ow

+1

HTMLPurifier 자체는 CSS를 처리하지 않습니다. 이는 CSSStidy에 따라 다릅니다. CSSTidy는 5 년 넘게 업데이트되지 않았습니다. 현재까지는 미디어 쿼리를 처리하지 못합니다. – JonoB

+0

@ raina77ow 5 년이 지나도 업데이트되지 않았다면 아마도 애니메이션을 지원하지 않을 것입니다. – starbeamrainbowlabs

답변

0

HTMLPurifier 및 CSSTidy는 올바른 도구입니다. CSSTidy는 여전히 Cedric Morin 및 기타 개발자가 거의 없습니다 on Github. 또한 CSSTidy의 기본 CSS 수준은 2012 년 4 월 이후 CSS3.0입니다.

사용할 수 있습니다.

+0

하나의 입력 필드에 모든 수하물을 가지고 너무 무거워. HTMLPurifier는 괴물입니다. – JonoB

-1

위생 처리가 필요한 것은 무엇입니까? CSS는 꽤 똑바로, 당신은 단지 선택기 괄호 항목의 콜론과 값을 패턴과 일치하는 경우 확인하실 수 있습니다 모든 유효한 엄격한 CSS가 있는지 확인하지 않아도됩니다?