2014-05-11 122 views
-1

在js代碼打印PHP字符串後,我得到錯誤PHP如何輸出字符串到html

<script type = "text/javascript"> 
    var editorHtml = "<?php echo $editorHtml; ?>"; 
</script> 

當字符串包含"雙引號,我得到意想不到的令牌非法的,因爲雙引號關閉JS字符串在中間。

<script type = "text/javascript"> 
    var editorHtml = '<?php echo $editorHtml; ?>'; 
</script> 

我試試這個,但我得到類似的問題,如果字符串包含'單引號。 我需要一個unuiversal解決方案,當字符串包含'"報價。

+0

什麼?請清楚。我不能讓頭或尾巴出來 –

+0

例如。 echo $ string; // aaaa「」「///'''llfgfgfgTTTRrkk;我怎樣才能把它傳遞給js? – styopdev

+0

是你的文件是一個'.html'還是'.php'文件? php'文件! –

回答

-1

看一個例子:

<?php 
    $someVar = 1; 
?> 

<script type="text/javascript"> 
    var javaScriptVar = "<?php echo $someVar; ?>"; 
</script> 
+0

你在我的排隊中看到例子並閱讀它嗎? – styopdev

+0

不,這是一個可行的例子;) – manxten

+0

他的問題不是很清楚。當'$ someVar'是一個字符串並且包含'「時(在你的例子中,因爲JS會變成'var javaScriptVar =」一些帶有雙引號的東西:「foo」「;'),問題就會發生。 – ccKep

0
<script type = "text/javascript"> 
    var editorHtml = <?php echo str_replace(array(']]>', '<!'), array(']]\x3E', '\x3C!'), json_encode($editorHtml)); ?>; 
</script> 

進行消毒在所有情況下正常。

+0

它不工作,$ editorHtml = Hello world;我得到錯誤意外的標識符,代碼在瀏覽器中 styopdev

+0

@styopdev對不起,我忘記刪除引號聲明,現在它應該工作。 –