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行,然后它就可以工作了