2016-08-25 1 views

답변

1

표시 정보에 대한 api docs 제발 봐 ...

if($vars) foreach($vars as $k => $v) { 
    $search[] = '$' . $k; 
    $replace[] = str_replace("\\'","'", Convert::raw2js($v)); 
} 

$script = str_replace($search, $replace, $script); 

그래서 다음과 같은 배열 ...

$vars = array(
    'iVal' => '99', 
    'iVal' => "'string'", 
); 

다음과 같은 자바 스크립트를 변환 할 ...

var iVal = $iVal; 
var sVal = $sVal; 

~ ...

var iVal = 99; 
var sVal = 'string'; 
+0

달콤한 나는 당신이 이것을 할 수 있는지 몰랐습니다. 또한 텍스트 기반 파일에서 복잡한 작업을 수행해야하는 경우 Silverstripe 템플릿 엔진을 통해 문자열 (예 : 전체 js 또는 css 파일을 포함하는 문자열)을 실행 한 다음 디스크에 다시 저장하거나 사용자 정의 형식으로 보낼 수 있습니다 CSS 또는 JS. – AlphaCactus

+0

@ barry : 예상대로 작동하지만 작동하지 않습니다. 이 코드는 인라인 자바 스크립트 파일을 HTML로 변환합니다. js 파일에서 직접 변수를 변경하는 또 다른 방법이 있습니까? HTML에 인라인 코드가 없습니다 – StefGuev

+1

@NewbieSSProgrammer 그래, 이처럼 customScript를 사용할 수도 있습니다 ... 요구 사항 :: customScript ("var myVar =". $ iMyVar. "; alert (myVar);"); – Barry