2009-04-29 9 views
0

J'ai une chaîne CSV qui est incorporée dans un document XML, ce qui est nécessaire pour un graphique flash qui utilise XML. Le problème est que le tableau obtient les paramètres du fichier HTML à travers un extrait de code JavaScript, comme ceci:Newlines en Javascript et 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>... 

Alors, évidemment les sauts de ligne briser le javascript (qui est repris par une variable PHP). Y at-il de toute façon pour supprimer les nouvelles lignes (ou au moins arrêter les nouvelles lignes de rupture du javascript) et encore obtenir le graphique flash pour le lire correctement comme un fichier CSV.

Répondre

3

Essayez ceci. Si ça ne marche pas, j'ai une autre idée.

<?php 

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

Merci, ça a bien fonctionné. – Ian

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

où stringObj est

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