如何使用php从文件中删除特定数据

如何使用php从文件中删除特定数据,php,regex,file,logic,Php,Regex,File,Logic,在文件中显示数据--- 这是我的wiki.txt文件中的数据集,我需要从所有行中删除“]]||”之后的所有内容 //代码实现后需要数据 Kortrijk Hasselt Sint-Niklaas Ostend |22Tournai |23Genk |24Seraing 这是我遇到的代码,但不知道如何在我的代码中使用它,我遵循了preg_replace,正则表达式等,但所有这些都超出了我的理解。请帮助我,plz和plz让我知道我可以遵循的任何教程链接,用于此类工作(特别是针对新手的正则表达式)

在文件中显示数据---

这是我的
wiki.txt文件中的数据集,我需要从所有行中删除“]]||”之后的所有内容

//代码实现后需要数据

Kortrijk
Hasselt
Sint-Niklaas
Ostend
|22Tournai
|23Genk
|24Seraing
这是我遇到的代码,但不知道如何在我的代码中使用它,我遵循了
preg_replace
,正则表达式等,但所有这些都超出了我的理解。请帮助我,plz和plz让我知道我可以遵循的任何教程链接,用于此类工作
(特别是针对新手的正则表达式

逐字匹配']| |',然后匹配所有字符(.*)直到行'$'的结尾,并将其替换为''

另外:请查看此文件,并尝试:

$arr = file("wiki.txt"); //will give you contents as array
$newContent = "";
foreach($arr as $key => $val) {
    $newContent .=substr_replace($val, '', strpos($val, ']'))."\n";
}
//add changed content back to file
file_put_contents("wiki.txt", $newContent);

//result is:
Kortrijk
Hasselt
Sint-Niklaas
Ostend
|22Tournai
|23Genk
|24Seraing
与“更改”文件不同,您可能希望打开文件,读取内容,然后将所需的部分写入新文件。如果一切按计划进行,请用新文件替换旧文件。那样更安全

<?php

$lines = file("input.txt");

$output = "";

foreach ($lines as $line) {
  $output .= substr($line, 0, strpos($line, "]")) . "\n";
}

file_put_contents("output.txt", $output);

这里不需要正则表达式。试试这个:毫无疑问代码是有效的……但是这个代码不会改变文件中的数据……因为我在那个文件中有大约1000个数据集……所以应用ctrl+c/ctrl+V也是一个麻烦的过程。这个代码只是显示我们如何获得所需的内容,请参阅答案中的添加代码,这将替换文件中的旧内容,并根据需要添加新内容。。。希望对你有帮助。。!。。。这是一个建议,plz…我如何提高我的代码编写能力?提高代码的最好方法之一就是阅读很多其他人的代码。参与一个大型PHP驱动的社区,比如,或者,看看别人写了什么,尝试贡献自己的力量,接受别人给你的建议。好吧,它的实践&实践可以提高技能,阅读别人的文档和代码,等等,以更新自己。我想这就是我们需要的。您可以查看此网站以了解以下信息:
preg_replace('/]]\|\|.*$/m', '', $fnames);
$arr = file("wiki.txt"); //will give you contents as array
$newContent = "";
foreach($arr as $key => $val) {
    $newContent .=substr_replace($val, '', strpos($val, ']'))."\n";
}
//add changed content back to file
file_put_contents("wiki.txt", $newContent);

//result is:
Kortrijk
Hasselt
Sint-Niklaas
Ostend
|22Tournai
|23Genk
|24Seraing
<?php

$lines = file("input.txt");

$output = "";

foreach ($lines as $line) {
  $output .= substr($line, 0, strpos($line, "]")) . "\n";
}

file_put_contents("output.txt", $output);