JavaScript 및 PHP5의 신생
-
03-07-2019 - |
문제
XML 문서에 내장 된 CSV 문자열이 있으며 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>...
따라서 Newlines는 JavaScript (PHP 변수에 의해 반향되고 있음)를 깨뜨립니다. 어쨌든 최신을 제거 할 수 있습니까 (또는 적어도 Newlines가 JavaScript를 깨뜨리는 것을 중지하지만 Flash 차트가 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