2012-12-04 49 views
2

繼承人我的代碼:逃脫從PHP變量換行符(底線)爲Javascript使用

<td onclick="openFile('<?php echo htmlentities ($row['name'])?>',' 
         <?php echo htmlentities ($row['content'])?>')"> 
    <a href="#nf" data-toggle="tab"><?php echo $row['name']?></a></td> 

,因爲在$行[ '內容']一個底線字符:

openFile('wow','wow wow

wow ');

當瀏覽器不能找到一個結尾qoutes在同一行它拋出一個

錯誤(SyntaxError:未終止的字符串文字 [Break On This Error])。

任何解決方案?

+0

你需要在那個字符串中換行嗎?如果沒有,你可以用一個簡單的替換來刪除它。 –

+0

我需要那個換行符,所以不能替換它 –

回答

4

您可以用什麼替代它,如果你需要你的換行符在你的JS字符串,你可以雙擊逃避它刪除,

str_replace("\n","",$row['name']); 

str_replace("\n","\\n",$row['name']); 
+0

<?php echo str_replace(「\ n」,「\\ n」,htmlentities($ row ['content']))??>它爲我工作,thanx很多 –

0

我有同樣的像之前這樣問題。 json_encode in PHP and JS中的JSON.parse()幫我解決了這個問題。在你的情況,我會使用此代碼:

<td onclick="openFile('<?php echo htmlentities ($row['name'])?>',' 
        <?php echo json_encode($row['content'])?>')"> 
<a href="#nf" data-toggle="tab"><?php echo $row['name']?></a></td> 

然後在您的中openFile()函數,這正是我也會解析內容參數使用JSON.parse()來是這樣的:

function openFile(name, content){ 
    content = JSON.parse(content); 

    .... 
    // your codes here 

}