# Class yii\helpers\BaseHtmlPurifier

Inheritance | yii\helpers\BaseHtmlPurifier
Subclasses | yii\helpers\HtmlPurifier
Available since version | 2.0
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/helpers/BaseHtmlPurifier.php

BaseHtmlPurifier provides concrete implementation for yii\helpers\HtmlPurifier.

Do not use BaseHtmlPurifier. Use yii\helpers\HtmlPurifier instead.

## Public Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
process() | Passes markup through HTMLPurifier making it safe to output to end user. | yii\helpers\BaseHtmlPurifier

## Protected Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
configure() | Allow the extended HtmlPurifier class to set some default config options. | yii\helpers\BaseHtmlPurifier

## Method Details

Hide inherited methods

configure() protected static method (available since version 2.0.3)

Allow the extended HtmlPurifier class to set some default config options.

protected static void configure ( $config )
$config | \HTMLPurifier_Config |

Source code

                    protected static function configure($config)
    {
    }

process() public static method

Passes markup through HTMLPurifier making it safe to output to end user.

public static string process ( $content, $config = null )
$content | string | The HTML content to purify

$config

array|Closure|null

The config to use for HtmlPurifier. If not specified or `null` the default config will be used. You can use an array or an anonymous function to provide configuration options:

- An array will be passed to the `HTMLPurifier_Config::create()` method.

- An anonymous function will be called after the config was created. The signature should be: `function($config)` where `$config` will be an instance of `HTMLPurifier_Config`.

  Here is a usage example of such a function:

      // Allow the HTML5 data attribute `data-type` on `img` elements.
      $content = HtmlPurifier::process($content, function ($config) {
        $config->getHTMLDefinition(true)
               ->addAttribute('img', 'data-type', 'Text');
      });

return | string | The purified HTML content.

Source code

                    public static function process($content, $config = null)
    {
        $configInstance = \HTMLPurifier_Config::create($config instanceof \Closure ? null : $config);
        $configInstance->autoFinalize = false;
        $purifier = \HTMLPurifier::instance($configInstance);
        $purifier->config->set('Cache.SerializerPath', \Yii::$app->getRuntimePath());
        $purifier->config->set('Cache.SerializerPermissions', 0775);
        static::configure($configInstance);
        if ($config instanceof \Closure) {
            call_user_func($config, $configInstance);
        }
        return $purifier->purify($content);
    }