【发布时间】:2012-11-05 23:37:48
【问题描述】:
我们要求允许用户自定义 PHP 应用的 CSS。通常,只有该用户能够查看自定义 CSS,但在某些情况下,他们组中的其他用户也可以查看 CSS,因此需要确保对其进行清理。
我知道 HTMLPurifier 和 CSSTidy 可以用于 PHP,但 CSSTidy 已经过时了,显然无法处理我们需要扔给它的所有内容。
我还没有找到任何其他 PHP 库可以做到这一点。
我正在探索的一种替代方法是使用 ruby 库(http://apidock.com/rails/HTML/WhiteListSanitizer/sanitize_css 或 https://github.com/courtenay/css_file_sanitize/blob/master/lib/css_sanitize.rb)并将其转换为 php。
在我走这条路之前,有没有其他选择?在使用其中一个 Ruby 库之前,我应该注意哪些陷阱?
【问题讨论】:
-
为什么 HTMLPurifier 不适合您?我的意思是,它对您的情况有什么不利之处?
-
HTMLPurifier 本身不处理 CSS - 它依赖于 CSSTidy。 CSSTidy 已经超过 5 年没有更新了——它已经过时了,甚至不处理媒体查询。
-
@raina77ow 如果超过 5 年没有更新,它可能也不支持动画(猜测)。
-
有什么理由不能将 css_sanitize 移植到 PHP 上?
-
Facebook 用于清理 CSS。您可能会查看他们较旧的开源项目,看看您是否可以使用他们的 CSS sanitizer。
标签: php css ruby-on-rails