我有一个php文件,可以完美地读取其他文件的内容,并将它们作为字符串返回。
$contents = $file->read(); // return as string.
我需要能够搜索和替换某些行
以$this->Session->setFlash
开头并以, true));
结尾的行必须替换为
以...开头的行
$this->Session->setFlash
以, true), 'default', array('class'=>'flash_failure'));
我的机器上有grep,如果有帮助的话。
最后在内容改变之后,我有一个将内容写回的功能
$file->write($contents);
我知道这有助于找到线条,但我不知道如何更换。
^.*Session->setFlash.*, true\)\);$
答案 0 :(得分:1)
您可以尝试:
$contents = $file->read(); // return as string.
// change contents.
$contents = preg_replace('/^(\$this->Session->setFlash.*?), true\)\);$/',"$1, true), 'default', array('class'=>'flash_failure'));",$contents);
$file->write($contents);
答案 1 :(得分:0)
$contents = preg_replace('/^(.*Session->setFlash.*, true\))\);$/m',
"$1, 'default', array('class'=>'flash_failure'));", $contents);
多线修改器是关键。