0

XML ドキュメント内に埋め込まれた CSV 文字列があります。これは、XML を使用するフラッシュ チャートに必要です。問題は、次のように、チャートが 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 を壊す改行を停止します)、それでもフラッシュ チャートが CSV ファイルとして正しく読み取れるようにします。

4

2 に答える 2

3

これを試して。それがうまくいかない場合は、別のアイデアがあります。

<?php

// assumes *nix style newlines
echo str_replace( "\n", "\\n", $jsCode );
于 2009-04-29T15:37:20.923 に答える
0
stringObj.replace("\n","");

stringObj の場所

<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>...
于 2009-04-29T15:37:43.010 に答える