Как я могу исключить перевод строки в конце элементов, возвращаемых file ()? - PullRequest
2 голосов
/ 04 января 2011

У меня есть текстовый файл, в котором есть несколько имен, например:

mathew
james
kelvin
peter
jackson
linak
thomas

основной код указан ниже:

 $names = file(names.txt);

    foreach ( $names as $name) {

    //then this call to a function 

    $data = 'localhost/q?detail='.$name;

    //////do some code etc..

    //insert into table
     }

моя проблема в том, что он звонит как localhost/q?detail=mathew%0A и следующий localhost/q?detail==%0D%0A и следующий localhost/q?detail=james%0A

Как мне избавиться от этих %0D%0A вещей?

1 Ответ

3 голосов
/ 04 января 2011

Это разделители строк (или разделители; в зависимости от того, как вы на это смотрите), и они включены по умолчанию в элементы, возвращаемые file(), как указано в документации:

Возвращает файл в массиве. Каждый элемент массива соответствует строке в файле с новой строкой.

- Документация PHP: файл

Чтобы удалить их, просто передайте флаг FILE_IGNORE_NEW_LINES на file():

FILE_IGNORE_NEW_LINES

Не добавлять символ новой строки в конце каждого элемента массива

Так что в вашем коде просто сделайте следующее:

$names = file('names.txt', FILE_IGNORE_NEW_LINES);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...