我有一个嵌入 XML 文档中的 CSV 字符串,这对于使用 XML 的 Flash 图表是必需的。问题是图表通过 JavaScript 片段从 HTML 文件获取设置,如下所示:
<script type="text/javascript">
// <![CDATA[
var so = new SWFObject("/gr/amstock.swf", "line", "100%", "100%", "8", "#FFFFFF");
//so.addVariable("path", "../amline/");
so.addVariable("chart_settings", escape('<settings><number_format><thousands_separator></thousands_separator><decimals_separator><![CDATA[.]]></decimals_separator></number_format><number_format><thousands_separator></thousands_separator><decimals_separator><![CDATA[.]]></decimals_separator></number_format><redraw><![CDATA[true]]></redraw><data_sets><data_set did="0"><color><![CDATA[#00688B]]></color><csv><separator><![CDATA[,]]></separator><date_format><![CDATA[MM/DD/YYYY]]></date_format><data><![CDATA[03/29/09,0
03/30/09,0
03/31/09,0
04/01/09,0
04/02/09,0</data><columns>...
因此,显然换行符破坏了 javascript(由 PHP 变量回显)。无论如何,有没有办法删除换行符(或者至少阻止换行符破坏 javascript),但仍然让 Flash 图表将其正确读取为 CSV 文件。
最佳答案
试试这个。如果这不起作用,我还有另一个想法。
<?php
// assumes *nix style newlines
echo str_replace( "\n", "\\n", $jsCode );
关于php - Javascript 和 PHP5 中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/802932/