我正在尝试使用PHP编辑文本文件。 我的源文件称为source.txt
有多行,例如
NAME_OF_TITLE,Flowers
http://get.php?key=1223
NAME_OF_TITLE,Toys (unavailable)
http://get.php?key=1923
NAME_OF_TITLE,Cards
http://get.php?key=1023
NAME_OF_TITLE,Food (unavailable)
http://get.php?key=1123
......
如您所见,在注释行中
(unavailable)
我知道,如何删除此短语所在的行(不可用),但我也需要删除该行。我想要的结果就是这个。
NAME_OF_TITLE,Flowers
http://get.php?key=1223
NAME_OF_TITLE,Cards
http://get.php?key=1023
原始代码
$file = file_get_contents("/var/www/html/test/source.txt");
$lines = explode("\n", $file);
$exclude = array();
foreach ($lines as $line) {
if (strpos($line, 'unavailable') !== FALSE) {
continue;
}
$exclude[] = $line;
}
echo implode("\n", $exclude);
答案 0 :(得分:1)
像这样吗?
<?php
$lines = file('text.txt');
foreach ($lines as $line_num => $line) {
if (strpos($line, '(unavailable)')) {
unset($lines[$line_num]);
unset($lines[$line_num+1]);
}
}
$fp = fopen('file.txt', 'w+');
foreach ($lines as $line_num=>$line) {
fwrite($fp, $line);
}
fclose($fp);
?>
文件text.txt内容:
NAME_OF_TITLE,Flowers
http://get.php?key=1223
NAME_OF_TITLE,Toys (unavailable)
http://get.php?key=1923
NAME_OF_TITLE,Cards
http://get.php?key=1023
NAME_OF_TITLE,Food (unavailable)
http://get.php?key=1123
文件file.txt内容:
NAME_OF_TITLE,Flowers
http://get.php?key=1223
NAME_OF_TITLE,Cards
http://get.php?key=1023