无法从文件中替换新行

时间:2014-12-21 16:25:45

标签: php preg-replace

我有一个像

这样的文件
string:number:number
string:number:number
stringForReplace:number:number
string:number:number
string:number:number

我需要使用stringForReplace删除字符串。 这就是我在php中所做的。

    $fileContent=file_get_contents("...");
    $fileContent=preg_replace("/stringForReplace\:".$number1."\:".$number2."/", "", $fileContent);
    $file=fopen("...","w");
    fwrite($file, $fileContent);
    fclose($file);

这会删除字符串但空行仍然存在。我在表达式的末尾使用了\ s \ n。还有[\ s \ n] +之类的东西也尝试修剪'\ n'的str_replace。但nothig有效。什么是合适的解决方案?

1 个答案:

答案 0 :(得分:1)

更改结束" /"到" [\ s \ r] * \ n /"应该做到的。这是我的考试:

% php -r '$x = "x\ny\nx\ny\n"; echo $x; echo preg_replace("/x\n/", "", $x);'
x
y
x
y
y
y