Php 如何消除file()返回的项目末尾的换行符?

Php 如何消除file()返回的项目末尾的换行符?,php,file,Php,File,我有一个文本文件,其中有几个名称示例: 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..

我有一个文本文件,其中有几个名称示例:

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
东西?

这些是行终止符(或分隔符,取决于您如何看待它),默认情况下包含在
文件()返回的项目中,如文档所述:

返回数组中的文件。数组的每个元素都对应于文件中的一行,换行符仍然附着

-

要删除它们,只需将
FILE\u IGNORE\u NEW\u行
标志传递到
FILE()

文件\u忽略\u新行

不要在每个数组元素的末尾添加换行符

因此,在代码中只需执行以下操作:

$names = file('names.txt', FILE_IGNORE_NEW_LINES);

你们所说的名字是正确的,并没有特殊的字符…但从下一步开始,它是空白的!!!没有名字…为什么?是的,我知道了,你需要添加文件\u跳过\u空\u行,然后它就可以工作了