0

この質問には非常に簡単な答えがあるのではないかと心配していますが、しばらくの間、解決策を探してみましたが、うまくいきませんでした。

セミコロン (;)、二重引用符、単一引用符、およびおそらくエスケープしないと有害な可能性があるその他の文字を含む非常に長い文字列があります。

JavaScript コードを実行しようとすると、「Uncaught SyntaxError: Unexpected identifier」というエラーが表示されます。Unexpected Identifier を確認すると、文字列の末尾にあるのはセミコロンまたは引用符のいずれかです。

PHP には、テキストをプローバー レンダリングするための組み込み関数があるため、コードが破損することはありません。JavaScript に等しいものはありますか? 文字を置き換えるだけでよいことはわかっていますが、問題は、文字列に含まれる文字が常にわかっているわけではないため、有害な文字をエスケープするより「一般的な」関数があれば非常に便利です。

4

1 に答える 1

1

バックエンドからページをレンダリングするときに文字列をサニタイズする必要があると呼ばれます。文字列が途中で終了しないように、引用符をエスケープする必要があるようです。

基本的にこのような文字列

var foo = "asdkjhsadjkhsadjkhsajkdhsajkdhksajhd"sajkdhsakdjhsajkdhsajkdh";

" を でエスケープする必要があります。

var foo = "asdkjhsadjkhsadjkhsajkdhsajkdhksajhd\"sajkdhsakdjhsajkdhsajkdh";

JavaScript エラーは発生しません。

また、新しい行にも注意する必要があります。'\n' に置き換える必要があるもの

于 2013-01-10T18:33:20.767 に答える