无任何替换并删除该行

时间:2015-04-15 13:30:25

标签: php regex

在文件中,我用字符串替换标记!!marker!!或不用任何内容:

if ($foo){
        insert_content('index.html', 'index.html', '!!marker!!', $string);
    }else{
        insert_content('index.html', 'index.html', '!!marker!!', '');
    }

...但由于!!marker!!在其自己的空白行上,此行仍为空白。

是否有可能无需更换标记并删除它所在的线?

1 个答案:

答案 0 :(得分:2)

[^\n]*!!marker!![^\n]*\n

这应该删除行。{替换empty string。请参阅演示。

https://regex101.com/r/sJ9gM7/112

$re = "/[^\\n]*!!marker!![^\\n]*\\n/im";
$str = "asdasdasd\nsadasd !!marker!!a asdasd\nklklkl\na\nsd\nas\nd\n";
$subst = "";

$result = preg_replace($re, $subst, $str);