可能重复:
How to replace text over multiple lines using preg_replace
我正在尝试从文件中读取一些文本而不是替换某些模式。如果我尝试从单个字符串替换patern它可以工作,但如果文件中有多个这样的字符串它不起作用。
$ this-> session-> set_flashdata('error_message','Naslovna vrstica jebilauspešnosranjena');
这是一个文本示例,我试图用这一行替换替换工作正常,但如果文件中还有其他这样的行,则不会单独匹配。
$content = file_get_contents("C:\Users\Borut\\test.txt");
$pattern="/^.*session->set_flashdata\((.*),(.*)\);$/";
$replacement="\$_SESSION[$1]=$2";
这是我的代码。如何替换上面显示的多个字符串。
答案 0 :(得分:1)
您想要的修饰符是m
。你可以找到所有修饰符here
也就是说,最简单,最好的正则表达式解决方案就是
"/\$this->session->set_flashdata\((.*?),\s*(.*?)\);/"
注意有一个?在。*之后。这是为了阻止与你的贪婪匹配。另请注意,删除^
和$