项目作者: kevintweber

项目描述 :
Groundskeeper will clean your weedy HTML.
高级语言: PHP
项目地址: git://github.com/kevintweber/Groundskeeper.git
创建时间: 2016-04-21T23:27:31Z
项目社区:https://github.com/kevintweber/Groundskeeper

开源协议:MIT License

下载


Groundskeeper

Latest Version on Packagist
Software License
Build Status
Coverage Status
Quality Score

Groundskeeper will clean your weedy HTML.

Install

Via Composer

  1. $ composer require kevintweber/groundskeeper

Usage

Here is a simple example:

  1. use Groundskeeper\Groundskeeper;
  2. $groundskeeper = new Groundskeeper(array(
  3. 'output' => 'pretty'
  4. ));
  5. $groundskeeper->setLogger($myLogger); // Optional: will log changes to your HTML.
  6. $cleanHtml = $groundskeeper->clean($dirtyHtml);

Options

  • clean-strategy: Describes how the HTML document will be cleaned.
    • Options: none, lenient, standard, aggressive; Default: standard
      • none - No cleaning will be done.
      • lenient - Like standard except no markup will be removed.
      • standard - Standard compliant HTML will be output. Unfixable malformed HTML will be removed.
      • aggressive - Like “standard” plus non-standard elements will be removed. (TODO)
  • element-blacklist: Describes which elements will be removed from the output.
    • Options: Comma seperated list of elements; Default: `` (empty list)
  • indent-spaces: The number of spaces for indentation when using pretty output.
    • Options: integer greater than or equal to 0; Default: 4
  • output: Describes how the HTML will be output.
    • Options: compact, pretty; Default: compact
      • compact - Will remove all whitespace between elements, and will set indent-spaces to 0.
      • pretty - One element per line with indentation. Handy for debugging.
  • type-blacklist: Describes which token types will be removed from the output.
    • Options: Comma seperated list of any of the following: cdata, comment, doctype, element, php, text; Default: cdata,comment

Todo

  1. Implement aggressive cleaning strategy.
  2. pretty output should inline certain elements.
  3. Add option to remove / sanitize all JS attributes.

Change log

Please see CHANGELOG for more information what has changed recently.

Testing

  1. $ phpunit

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email kevintweber@gmail.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.