Динамический файл Javascript, перевод строки и возврат каретки - PullRequest
0 голосов
/ 06 мая 2009

Я строю JS-страницу динамически с помощью php, используя .htaccss для преобразования .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 ]

2 голосов
/ 06 мая 2009

Редактировать: Похоже, я неправильно понял вопрос - у него были проблемы с переводами строки в его JS, а не в его окончательном HTML.


Ваш JavaScript выходит отдельными строками из-за "\ r \ n" в конце строки, но затем вы выводите простой текст в ваш HTML-документ. HTML не разбивает строки, если вы не находитесь в предварительно отформатированном блоке (например, *

") or you give it an explicit break (like "<br>").</p>

<p>You probably want your code to look like this:</p>

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

Просто будьте очень осторожны с вашими данными - вставка случайных строк в ваш HTML - это быстрый способ найти дыры в безопасности.

0 голосов
/ 06 мая 2009

Хех, на самом деле, я думаю, что если вы посмотрите на источник сгенерированного файла, вы обнаружите, что разрывы строк действительно есть. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...