如何转义php中的新行字符以输出为javascript字符串值
How to escape new line chars in php to output into a javascript string value?
我提取了一些需要插入到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>
<script type="text/javascript">
var myvar = <?php echo json_encode($value); ?>;
</script>
JSON==Javascript表示法==输出到Javascript的任何值的正确编码/转义方法。
相关文章:
- 在JavaScript中输出转义字符
- 如何转义php中的新行字符以输出为javascript字符串值
- Php在csv输出文件中插入转义字符
- 具有中文字符但输出的JSON.parse数据变为“;未定义”;
- 改进字符串的随机字符输出
- 如何处理节点.js中/从节点输出的 (cli) 标准输出流的字符编码
- 从 utf-8 代码打印/输出 utf-8 字符
- 如何在输出到 html 之前停止 asp.net 编码字符
- 奇怪的字符(放大器)添加到 MOSS 服务输出
- 使用 CloudFlare 时 PHP 输出的额外字符
- 如何仅在存在特定字符时输出参数值
- 删除python输出中的“u”字符
- 键控特殊字符,如öüä激发2次并输出不带'¨'
- PHP在我的输出中放置了一些奇怪的字符
- 在多维数组上循环输出单个字符
- SyntaxError:JSON.parse:解析PHP输出时出现意外字符
- 通过某些特殊字符或字符序列进行拆分来解析JSON输出
- 计数SCEditor字符和下面的输出
- JavaScript -随机输出字符
- 限制Java Script打印输出字符