# BaseHtmlPurifier

> BaseHtmlPurifier provides concrete implementation for yii\helpers\HtmlPurifier.

[API reference](/docs/api/index.md) › [yii](/docs/api/yii/index.md) › [helpers](/docs/api/yii/helpers/index.md) › BaseHtmlPurifier

| class | `yii\helpers\BaseHtmlPurifier` |
| --- | --- |
| Since | 2.0 |
| Source | [`framework/helpers/BaseHtmlPurifier.php`](https://github.com/yiisoft/yii2/blob/22.0/framework/helpers/BaseHtmlPurifier.php#L19) |

1 subclass:

- [`HtmlPurifier`](/docs/api/yii/helpers/htmlpurifier/index.md)

BaseHtmlPurifier provides concrete implementation for [`HtmlPurifier`](/docs/api/yii/helpers/htmlpurifier/index.md).

Do not use BaseHtmlPurifier. Use [`HtmlPurifier`](/docs/api/yii/helpers/htmlpurifier/index.md) instead.

## Methods

| Method | Description | Defined by |
| --- | --- | --- |
| [`process()`](#method-process) static | Passes markup through HTMLPurifier making it safe to output to end user. | `BaseHtmlPurifier` |
| [`configure()`](#method-configure) protected static | Allow the extended HtmlPurifier class to set some default config options. | `BaseHtmlPurifier` |

## Method details

### process() <span id="method-process"></span>

```php
public static function process(string $content, array|Closure|null $config = null): string
```

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

**Parameters**

| Parameter | Type | Description |
| --- | --- | --- |
| `$content` | `string` | The HTML content to purify |
| `$config` | `array\|`[`Closure`](https://www.php.net/manual/en/class.closure.php)`\|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'); }); |

**Returns**

`string`: The purified HTML content.

### configure() <span id="method-configure"></span>

```php
protected static function configure(HTMLPurifier_Config $config): mixed
```

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

**Parameters**

| Parameter | Type | Description |
| --- | --- | --- |
| `$config` | `HTMLPurifier_Config` |  |

**Returns**

`mixed`

**Since**

2.0.3