2009-04-29 6 views
0

Ich habe eine CSV-Zeichenfolge, die in ein XML-Dokument eingebettet ist, das für ein Flash-Diagramm erforderlich ist, das XML verwendet. Das Problem ist, dass das Diagramm die Einstellungen aus der HTML-Datei durch einen JavaScript-Snippet wird, etwa so:Newlines in Javascript und PHP5

<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>... 

also offenbar die neuen Zeilen JavaScript brechen (die durch ein PHP-Variable Echo wird). Gibt es sowieso, um die Zeilenumbrüche zu entfernen (oder zumindest zu verhindern, dass die Zeilenumbrüche das Javascript brechen) und trotzdem das Flash-Chart korrekt als CSV-Datei liest.

Antwort

3

Versuchen Sie dies. Wenn es nicht funktioniert, habe ich eine andere Idee.

<?php 

// assumes *nix style newlines 
echo str_replace("\n", "\\n", $jsCode); 
+0

Danke, das hat gut funktioniert. – Ian

0
stringObj.replace("\n",""); 

wo stringObj ist

<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>...