如何使用PHP按字符串查找文件中的一行并使用自定义字符串进行前置?

如何使用PHP按字符串查找文件中的一行并使用自定义字符串进行前置?,php,Php,例如,我的文件users.txt包含以下内容: user_10 user_20 user_30 我需要找到包含字符串“user_20”的行,并在其前面加上字符串“disabled” 生成的文件应如下所示: user_10 disabled user_20 user_30 文件可以有大约200-600行 如何在PHP上实现它?200-600行非常少。如果只需要编辑一次,请尝试: $fr = fopen("users.txt",'r+'); $content = "";

例如,我的文件users.txt包含以下内容:

user_10
user_20
user_30
我需要找到包含字符串“user_20”的行,并在其前面加上字符串“disabled”

生成的文件应如下所示:

user_10
disabled user_20
user_30
文件可以有大约200-600行


如何在PHP上实现它?

200-600行非常少。如果只需要编辑一次,请尝试:

    $fr = fopen("users.txt",'r+');
    $content = "";

    while(!feof($fr)) {
        $user = fgets($fr);
        if($user == "user_20") {
          $user = "disabled ".$user;
        }
        $content.= $user;
        $content.= "\r\n";
    }

    file_put_contents("users.txt", $content);
    fclose($fr); 
另一种选择:

file_put_contents($filename, str_replace('user_20',
                                         'disabled user_20',
                                         file_get_contents($filename)));

文件中大约有多少行?这里有一种方法:@BradKent文件可以有大约200-600行。IMHO由于$user变量已经包含linebreak:$content.=“\r\n”,因此不需要这一行;