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() protected static method (available since version 2.0.3)

Defined in: yii\helpers\BaseHtmlPurifier::configure()

允許擴展的 HtmlPurifier 類別設定一些預設配置選項。

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

                protected static function configure($config)
{
}

            
process() public static method

Defined in: 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');
    });
    
return 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);
}