テンプレートに渡されるテキスト入力フィールドにユーザーが入力するコンテンツ管理システム用の JavaScript テンプレートを作成しています。
私の問題は、入力フィールドの引用符がテンプレートに渡される前にエスケープされないことです。そのため、一重引用符または二重引用符、あるいはその両方が含まれているかどうかを知る方法がありません。どちらの方法でデータを処理しようとしても、引用符で文字列宣言が終了するため、コードが壊れてしまいます。データに対して関数を実行して引用符をエスケープしたいのですが、最初にデータを有効な変数に入れる方法が見つかりません。
文字列変数の宣言を壊さずに JavaScript でデータを安全に処理する方法はありますか?
編集:コード例を投稿しています。
CMS テキスト入力フィールドの値: 「ビッグ コンテスト」の優勝者は?
テキスト入力フィールドのプレースホルダー マクロは [%TextInput%] です
JS/HTML/CSS だけを使用して、この入力用の HTML テンプレートを作成しています
<script>
(function(){
var textInputStr = "[%TextInput%]";
})();
</script>
TextInput の値に一重引用符が含まれている場合、文字列宣言が壊れます。逆の場合も同様です。