2009-05-06 70 views
0

我使用.htaccss使.PHP到的.js動態JavaScript文件換行符和回車

所有動態生成JS頁面用PHP從JS的輸出效果很好開。

IE

$data = array('one', 'two'); 

foreach($data as $d){ 
    echo "document.write('This is a test for array item ".$d."'); \r\n"; 
} 

問題是,它輸出都放在同一行即

document.write('This is a test for array one');document.write('This is a test for array two'); 

不管是什麼我都試過我不能讓它兩行以上。

任何想法?

回答

2

編輯:它看起來像我誤解了這個問題 - 他在他的JS中的換行符遇到問題,而不是他的最終HTML。


JavaScript是現身在單獨的行,因爲「\ r \ n」字符串的結束,但此時你輸出純文本到HTML文檔。除非你在一個預先格式化的塊(例如「<pre>」)或者你給它一個明確的中斷(如「<br>」),否則HTML不會斷行。

你可能想你的代碼看起來像這樣:

foreach($data as $d){ 
    echo "document.write('This is a test for array item ".$d."<br>'); \r\n"; 
} 

只是要非常小心,你的數據 - 插入隨機字符串到HTML是一種快速的方式來獲得安全漏洞。

+0

失敗,老兄......當人們用這種確定來兜售虛假信息時,它會使我感到不適。 :/ – 2009-05-06 11:54:12

0

呵呵,實際上,我認爲如果你查看生成文件的來源,你會發現換行符確實存在。 :)