2011-05-03 103 views
1

我在PHP中的變量如何將多行字符串傳遞給javascript函數?

$test = "This is a string 
It has multiple lines 
there are three total" ; 

(輸出文本區)

我想這個變量傳遞給JavaScript函數

我在我的PHP文件寫這篇

<?php echo "<script language=javascript>convert('$test');</script>"; ?> 

但這造成一個錯誤「未終止的字符串文字」我該如何解決這個問題?

+1

不相關的問題,但你應該使用'轉換('$ test');「; ?> – Gaurav 2011-05-03 11:36:43

+1

使用'\ r \ n',Luke – zerkms 2011-05-03 11:36:50

+0

@Gaurav:'

0

試試這個:

$test = str_replace($test, "\n", "\\n"); 
+0

它應該是'\\\ n',轉換成反斜槓,然後換行。 – duri 2011-05-03 11:46:43

+0

@duri不知道這是真的..我們希望'\ n'能夠直接傳遞給JS函數。 – 2011-05-03 11:52:43

+0

哦,我明白了。我在想另一件事(在行尾添加反斜槓將允許Javascript字符串跨越多行;對此感到抱歉)。 – duri 2011-05-03 12:43:43

1
<script>convert(<?php echo json_encode($test); ?>);</script> 
+0

它看起來像甚至可以逃脫雙引號。非常好的解決方案IMO! – groovenectar 2015-09-28 19:11:22

相關問題