javascript 変数に挿入する必要があるいくつかの html/text 文字列を取り出します。
たとえば、php では次のようになります。
echo "<script type=\"text/javascript\">\n";
echo "var myvar='{$value}'";
echo "\n</script>";
上記のアプローチの問題は、一部の特殊文字が実際に JavaScript コードを壊してしまうことです。
そこで、htmlspecialchars を使ってみました:
htmlspecialchars($value,11,'utf-8',true); //11 stands for ENT_QUOTES|ENT_SUBSTITUTE
これにより、いくつかの異常な文字と最も重要な引用符が置き換えられました。
ただし、改行文字はそれを通り過ぎて、JavaScript を壊します。
では、どうすれば改行文字をエスケープできますか? 後でテキストエリアで使用できるように保存する必要があります。
*編集*変数のサンプル値を投稿します。(実際には Tiny_mce からの入力です)
<p>You've been...</p>
<p><iframe src="http://www.youtube.com/embed/8d7OBluielc?wmode=transparent" frameborder="0" width="640" height="360"></iframe></p>