Как прочитать строку файла, используя php в переменной javascript без символа строки? - PullRequest
3 голосов
/ 30 апреля 2010

У меня есть текстовый файл на сервере, который содержит 10 строк текста. Текстовый файл иногда переписывается, и я получаю новые строки, используя "\ r \ n". Моя проблема показывает, когда я хочу загрузить строки в переменных JavaScript. Я делаю это так, но это работает только для чисел или для последней строки файла, потому что он s not using the breakline tag: var x = '<?php echo $file[0]; ?>'; I пытался предупредить (х), но он не работает .... (работает, только если я прочитал Последняя линия) Любая идея?

Ответы [ 3 ]

3 голосов
/ 30 апреля 2010

Я не уверен, что полностью понимаю вопрос, но вы должны быть в состоянии использовать json_encode(), который будет корректно экранировать данные:

var x = <?php echo json_encode($file[0], JSON_HEX_TAG); ?>;

Как уже говорили другие, вы можете trim() данные удалить конечный пробел / разрывы строк. Вы все равно должны использовать json_encode() в дополнение к этому, так как в противном случае все равно можно будет вырваться из строки javascript (например, отправив строку с кавычкой).

0 голосов
/ 30 апреля 2010

Спасибо за все! Я решил проблему с помощью Артлунга и Ричарда Дж. П. Ле Гуэна:

var x = <?php rtrim($file[0]); ?>
0 голосов
/ 30 апреля 2010

Вы хотите trim():

var x = '<?php echo trim($file[0]); ?>';

Но если вы прочитаете file(), вы можете array_map() с помощью trim() и затем продолжать делать то, что вы делаете:

$values = array_map("trim", file('input-file.txt'));

Вы можете рассмотреть, что произойдет, если кто-то решит включить в переменную одинарную кавычку с помощью этого подхода.

РЕДАКТИРОВАТЬ: Затем вы можете добавить json_encode(), как предлагается в других ответах:

var x = <?php echo json_encode($file[0]); ?>;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...