我提取了一些需要插入到 javascript 变量中的 html/文本字符串。
例如,这就是它在 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。
那么我怎么能逃脱新的换行符呢?我需要保留它们以便稍后在 textareas 中使用。
*编辑*我将发布我的变量的示例值。(它们实际上是 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>