Php Preg匹配空间&;新台词?

Php Preg匹配空间&;新台词?,php,regex,Php,Regex,我有以下代码 $pattern = '#\bset_message\("(.*?)"\)#'; $found = preg_match($pattern, $string, $matches); 但是如果我的$string是 set_message("Hello there I like to eat CHEES!"); 它不会为匹配返回任何内容,但如果我使用 set_message("Hello there!"); 如何添加新行和类似的内容(\r\n、\n等)?只需使用m修饰符即可 $

我有以下代码

$pattern = '#\bset_message\("(.*?)"\)#';
$found = preg_match($pattern, $string, $matches);
但是如果我的$string是

set_message("Hello there
I like
to 
eat
CHEES!");
它不会为匹配返回任何内容,但如果我使用

set_message("Hello there!");

如何添加新行和类似的内容(\r\n、\n等)?

只需使用
m
修饰符即可

$pattern = '#\bset_message\("(.*?)"\)#m';
当您希望
可能意味着
\n
时,您需要同时使用
m'和
s`修饰符:

$pattern = '#\bset_message\("(.*?)"\)#ms';

由于某些原因,这仍然不起作用。。。是否有特定的地方需要放置
m
?我把它放在这行的末尾,但这似乎不起作用
#…#sm
模式
\bset\u message\(“(.*?”)
如何与
“您好!”
这样的字符串匹配?你的帖子里少了一些东西。也许,您需要添加
/s
?阅读我上面评论中的链接,然后您就会明白()。