0 关注者

类 yii\helpers\HtmlPurifier

继承关系yii\helpers\HtmlPurifier » yii\helpers\BaseHtmlPurifier
可用版本2.0
源代码 https://github.com/yiisoft/yii2/blob/master/framework/helpers/HtmlPurifier.php

HtmlPurifier 提供了清理 HTML 中任何有害代码的功能。

基本用法如下

echo HtmlPurifier::process($html);

如果您想进行配置

echo HtmlPurifier::process($html, [
    'Attr.EnableID' => true,
]);

更多详情请参考 HTMLPurifier 文档

公共方法

隐藏继承的方法

方法 描述 定义于
process() 将标记通过 HTMLPurifier 处理,使其安全输出给最终用户。 yii\helpers\BaseHtmlPurifier

受保护的方法

隐藏继承的方法

方法 描述 定义于
configure() 允许扩展的 HtmlPurifier 类设置一些默认配置选项。 yii\helpers\BaseHtmlPurifier

方法详情

隐藏继承的方法

configure() 受保护的静态方法 (自版本 2.0.3 起可用)

定义于: yii\helpers\BaseHtmlPurifier::configure()

允许扩展的 HtmlPurifier 类设置一些默认配置选项。

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

                protected static function configure($config)
{
}

            
process() 公共静态方法

定义于: yii\helpers\BaseHtmlPurifier::process()

将标记通过 HTMLPurifier 处理,使其安全输出给最终用户。

public static string process ( $content, $config null )
$content string

要纯化的 HTML 内容

$config array|Closure|null

要用于 HtmlPurifier 的配置。如果未指定或为 null,则将使用默认配置。您可以使用数组或匿名函数来提供配置选项

  • 数组将传递给 HTMLPurifier_Config::create() 方法。
  • 创建配置后将调用匿名函数。签名应为:function($config),其中 $config 将是 HTMLPurifier_Config 的实例。

    以下是用此类函数的示例

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

已纯化的 HTML 内容。

                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);
}