PHP从文本文件中删除/替换字符串

时间:2018-01-11 12:27:43

标签: php preg-replace

如果我有一个包含姓名数据的文本文件:

John
Ham
Joe
Tope
Nalawas

我希望php寻找Joe并将其从列表中删除。任何的想法?

我的想法:

<?php
$lines = file('user.txt');
$word = '';
$result = '';

foreach($lines as $line) {
    if(substr($line) == 'joe') {
        $result .= $word."\n";
    } else {
        $result .= $line;
    }
}

file_put_contents('user.txt', $result);

?>

此代码无效我想使用preg-replace

2 个答案:

答案 0 :(得分:0)

只需使用$result = str_replace('Joe','',$line);

即可

提醒一下,这种方法适用于你提到的情况,但是如果有像#34; Joesephine&#34;它会产生线:sephine

同样可能需要查看:strtolower()比较这样的字符串以解决不区分大小写http://php.net/manual/en/function.strtolower.php

答案 1 :(得分:0)

这很有效。
但如上所述,也将删除Joesephine

$lines  = file('names.txt');
$search = 'joe';

$result = '';
foreach($lines as $line) {
    if(stripos($line, $search) === false) {
        $result .= $line;
    }
}
file_put_contents('names2.txt', $result);