动态Javascript文件换行符&回车

时间:2009-05-06 11:42:26

标签: php javascript

我使用.htaccss动态构建一个JS页面,使.php成为.js

除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行。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

编辑:看起来我误解了这个问题 - 他在他的JS中遇到了新行,而不是他的最终HTML。


由于字符串末尾的“\ r \ n”,您的JavaScript会出现在单独的行中,但是您将纯文本输出到HTML文档中。除非您使用预先格式化的块(例如“< pre>”),否则HTML不会断行,或者您给它一个明确的中断(例如“< br>”)。

您可能希望代码看起来像这样:

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

只是要非常小心你的数据 - 在HTML中插入随机字符串是一种快速获取安全漏洞的方法。

答案 1 :(得分:0)

实际上,嘿,我认为如果你查看生成文件的来源,你会发现换行确实存在。 :)