PowerCMSでのsanitizeモディファイアの動き

投稿日: 更新日:

sanitizeモディファイアという、指定の許可されたHTMLタグ以外を除去してくれるタグが有る。
https://www.powercms.jp/products/document/config-directives/globalsanitizespec.html

なお、許可するHTMLタグの指定は、CMS環境変数GlobalSanitizeSpecで指定できる。
https://www.powercms.jp/products/document/config-directives/globalsanitizespec.html

気になったのは、許可したタグで属性値が保持されるか。次の施行を実施。

GlobalSanitizeSpecを次の様に設定した上で、

GlobalSanitizeSpec a href,b,i,br/,p,strong,em,ul,ol,li,blockquote,pre,span

記事の編集画面の本文をHTML直接編集モードにして、次の様に記載。

<p>てすと<span class="hoge">テスト</hoge></p>
<div>divがsanitizeされてるかテスト</div>

その上で、これを出力するMTEntryBody タグにsanitizeモディファイアを指定。

<mrt:entrybody sanitize="1" />

結果、出力されたHTMLは次の通りだった。

<p>てすと<span>テスト</span></p>
divがsanitizeされてるかテスト

spanタグのclass属性の指定が消えとる。。(´Д`)
多分MTの時代からそのまま引き継いだ仕様だとは思うけど、属性値は残してほしい。。

(追記)勘違いしていて、次のように「span class」と指定すればclass属性を残すことが出来た。

GlobalSanitizeSpec a href,b,i,br/,p,strong,em,ul,ol,li,blockquote,pre,span class

記載例の中に「a href」とあるので、そこで気づいた。分かりにくい~

関連するタグ

PowerCMS 5.13