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)である必要があります。ここで、$configHTMLPurifier_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);
}