我正在使用while(!feof函数导入一个.txt文件。 很好。
但是现在我只需要导入每行的第二和第四位置/值。
那怎么办?
在下面,您可以看到我当前正在使用的代码。该代码逐行导入整个文件。
$txtimport = fopen("MyFile.txt", "r") or die("I died");
// Output one line until end-of-file
echo '<div id="someID" style="display: block">';
while(!feof($txtimport)) {
echo '<ar>'.fgets($txtimport).'</ar><br />';
}
echo '</div>';
fclose($txtimport);
.txt文件如下所示:
1;你好;世界;如何;你呢?
我;我;很好;谢谢;你
再次;对;听到;从;对您而言
预期输出
你好如何
我没事
到
通知
.txt。文件每一行遵循相同的逻辑。每行由6个位置组成,这些位置由“;”
逻辑
sometekst1; sometekst2; sometekst3; sometekst4; sometekst5; sometekst6
答案 0 :(得分:1)
您可以使用explode()
:
$txtimport = fopen("MyFile.txt", "r") or die("I died");
echo '<div id="someID" style="display: block">';
while (($line = fgets($txtimport)) !== false) {
$parts = explode(";", $line);
echo "<span>$parts[1]</span><span>$parts[3]</span><br/>";
}
echo '</div>';
fclose($txtimport);
答案 1 :(得分:0)
使用标准的fgetcsv()
但使用;
(第三个参数)作为分隔符,您可以直接将文件作为一系列字段读取,然后输出各个项目... >
$txtimport = fopen("MyFile.txt", "r") or die("I died");
// Output one line until end-of-file
echo '<div id="someID" style="display: block">';
while($data = fgetcsv($txtimport, null, ";" )) {
echo '<ar>'.$data[1]." ".$data[3].'</ar><br />';
}
echo '</div>';
fclose($txtimport);