Перевод строк в Javascript и PHP5
-
03-07-2019 - |
Вопрос
У меня есть строка CSV, которая встроена в XML-документ, что необходимо для флэш-диаграммы, использующей XML.Проблема в том, что диаграмма получает настройки из HTML-файла через фрагмент javascript, например:
<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-файл.
Решение
Попробуй это.Если это не сработает, у меня есть другая идея.
<?php
// assumes *nix style newlines
echo str_replace( "\n", "\\n", $jsCode );
Другие советы
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>...
Не связан с StackOverflow