PowerCMSのsanitizeモディファイアでbrにスラッシュが付く件
見えないところからパンチを喰らったのでメモ。
次の前提を考える。
- 記事に対応する記事アーカイブからhtmlページを出力する実装を作る。
- 記事のタイトルは、ページ中でh1とかのコンテンツ部分のタイトルとして表示される。
- 記事の編集画面におけるタイトルの入力欄に入力されたhtmlについては、brタグだけ出力するようにする。
上記実装の実現の為、CMSテンプレートのロジックにてsanitizeモディファイアを使う。具体的には次のようなイメージとなる。
<h1><mt:entrytitle sanitize="1" /></h1>
また上記に伴い、CMS環境変数を次のように設定する。
GlobalSanitizeSpec br/
以上の前提で、例えばタイトルが次のような記事について、
ほげ<br>ふが
ページに出力すると、出力結果にてbrタグにスラッシュ「/」が付く。
ほげ<br />ふが
スラッシュを付けずにそのままのbrタグを出すには、先述のGlobalSanitizeSpecを次の通りに修正する。
GlobalSanitizeSpec br