Pregunta

Tengo una cadena CSV que está incrustada dentro de un documento XML, que es necesaria para un gráfico flash que usa XML. El problema es que el gráfico obtiene la configuración del archivo HTML a través de un fragmento de código javascript, como por ejemplo:

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

Por lo tanto, evidentemente, las nuevas líneas rompen el javascript (que es repetido por una variable de PHP). ¿Hay alguna forma de eliminar las nuevas líneas (o al menos detener las nuevas líneas que rompen el javascript) y aún así obtener el gráfico flash para leerlo correctamente como un archivo CSV?

¿Fue útil?

Solución

Prueba esto. Si no funciona, tengo otra idea.

<?php

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

Otros consejos

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

donde está 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>...
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top