Frage

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

<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 Zeilenumbrüche brechen die Javascript (die durch ein PHP-Variable Echo wird). Gibt es trotzdem, die Zeilenumbrüche (oder zumindest die Zeilenumbrüche zu stoppen JavaScript brechen) zu entfernen und dennoch den Flash-Chart erhalten korrekt als CSV-Datei zu lesen.

War es hilfreich?

Lösung

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

<?php

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

Andere Tipps

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

Dabei gilt 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>...
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top