encode_xml
1 を指定すると、モディファイアを付与したファンクションタグの値を XML フォーマットに適した形式にエンコード、XML に含めることができない制御文字を取り除いて出力を行います。
encode_xml は値が HTML や テンプレートタグを含んでいる場合、また環境変数 NoCDATA の指定によって動作がかわります。
環境変数 NoCDATA が 0 の場合 | 環境変数 NoCDATA が 1 の場合 | |
---|---|---|
値に HTML を含む場合 | CDDATA ブロックで囲む | 対象文字を変換する |
値に HTML を含まない場合 | 対象文字を変換する | 対象文字を変換する |
CDATA ブロックで囲わない、文字を変換する場合の対象は下記になります。
対象文字 | 変換後 |
---|---|
& |
& |
" |
" |
< |
< |
> |
> |
' |
' |
encode_xml と同様にエスケープを行うモディファイアについては記事「エスケープに関するモディファイアについて」を参照してください。
使い方
<MTSetVars> text1=<p>HTML タグを含む文書です</p> text2="HTML タグを含まない文書です" </MTSetVars> text1=<MTGetVar name="text1" encode_xml="1"> text2=<MTGetVar name="text2" encode_xml="1"> ↓ text1=<![CDATA[<p>HTML タグを含む文書です</p>]]> text2="HTML タグを含まない文書です"