在文件中,我用字符串替换标记!!marker!!
或不用任何内容:
if ($foo){
insert_content('index.html', 'index.html', '!!marker!!', $string);
}else{
insert_content('index.html', 'index.html', '!!marker!!', '');
}
...但由于!!marker!!
在其自己的空白行上,此行仍为空白。
是否有可能无需更换标记并删除它所在的线?
答案 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);