我有一个包含以下行的文本文件
清单 - 版本:1.0
MIDlet-Vendor:Croco Gamez
MIDlet版本:1.0.0
MIDlet-1:Quan,/ imb.png,CGTQ
MicroEdition-Configuration:CLDC-1.0
创建者:1.4.2(Sun Microsystems Inc.)
MIDlet-Icon:/ icon.png
MIDlet-名称:全
MicroEdition-Profile:MIDP-2.0
我想找到以MIDlet-1
开头的行和从此行末尾删除段落
请帮帮我
答案 0 :(得分:1)
问题似乎是file()
函数包含每行的尾随换行符。但是,这只是默认行为,我们可以通过使用特殊的FILE_IGNORE_NEW_LINES
标志来指示函数不要包含它们。
file('thefile.txt', FILE_IGNORE_NEW_LINES)
要查找所需的行,您可以遍历每一行,并在发现所需的行时停止,或使用其他函数搜索数组。 Krister和Michael分别显示了这两个问题。
$lines = file('thefile.txt', FILE_IGNORE_NEW_LINES);
$matched = preg_grep('/^MIDlet-1/', $lines);
foreach ($matched as $line) {
echo $line;
}
答案 1 :(得分:0)
Read the file into lines然后使用 PHP preg_grep ()
使用这样的正则表达式:
/^MIDlet-1.*$/
然后使用array_diff ()来获取现在的行数组 仅包含您想要的内容。如果需要,将行写回文件。
示例:
$lines = file ("file-to-read.txt");
$matchedLines = preg_grep ('/^MIDlet-1.*$/', $lines);
$lines = array_diff ($lines, $matchedLines);
// do something with lines which doesn't have your MIDlet data