0

可能重复:
如何使用 preg_replace 替换多行文本

我正在尝试从文件中读取一些文本,而不是替换一些模式。如果我尝试从一个字符串中替换模式,它可以工作,但如果文件中有多个这样的字符串,它就不起作用。

$this->session->set_flashdata('error_message', 'Naslovna vrstica je bila uspešno shranjena');

这是我试图用这一行替换替换的文本示例,但如果文件中还有其他这样的行,但它们都匹配单独,则不行。

$content = file_get_contents("C:\Users\Borut\\test.txt");
$pattern="/^.*session->set_flashdata\((.*),(.*)\);$/";
$replacement="\$_SESSION[$1]=$2";

这是我的代码。如上所示,如何替换多个字符串。

4

1 回答 1

1

你想要的修饰符是m. 你可以在这里找到所有修饰符 也就是说,最简单和更好的正则表达式解决方案是

"/\$this->session->set_flashdata\((.*?),\s*(.*?)\);/"

注意怎么有一个?在每个中的 .* 之后。这是为了停止与您的贪婪匹配。^另请注意,删除and后也不需要修饰符$

于 2013-02-03T21:44:46.430 回答