MT:encode_js でエスケープ文字が差し込まれる文字列

MTOS 5.13の環境でencode_js の出力に関してのテストテンプレート。

scriptという文字列があったときに、バックスラッシュによるエスケープ文字が挿入されることに最近気がついたので、テキトーなテンプレートを作ってみてみました。

<mt:Var name="var[0]" value="script">
<mt:Var name="var[1]" value="javascript">
<mt:Var name="var[2]" value="applescript">
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8" />
<title>encode js test</title>
</head>
<body>
<p><$mt:GetVar name="var" encode_js="1"$></p>
<script>
(function(){
var i;
var a=new Array( <mt:loop name="var" strip_linefeeds="1">
<mt:Unless name="__last__">
<mt:Var name="__value__" encode_js="1" regex_replace='/(.*)/','"$1",'>
<mt:Else><mt:Var name="__value__" encode_js="1" regex_replace='/(.*)/','"$1"'>
</mt:Unless></mt:loop> );
for (i=0; i<3; i++){
     document.write('<' + a[i] +'>' + 'test' + '</' + a[i] + '>' );
}
})()
</script>