我有一个字符串,格式如下:
$data = 'id=1
username=foobar
comment=This is
a sample
comment';
我希望删除第三个字段(comment=...
)中的\n
。
我有一个正则表达式,可以实现我的目的,但效果不是很好:
preg_replace('/\bcomment=((.+)\n*)*$/', "comment=$2 ", $data);
我的问题是第二组内每个匹配都会覆盖前一个匹配。因此,而不是这样:
'...
comment=This is a sample comment'
我最终得到了这个结果:
'...
comment= comment'
有没有办法在正则表达式中存储中间的反向引用?还是我必须在循环内匹配每个出现的情况?
谢谢!