Preg_match空间和;换行?

时间:2012-07-23 18:49:08

标签: 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等)?

1 个答案:

答案 0 :(得分:2)

只需使用m修饰符。

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

如果您希望.也可能意味着\n,则需要同时使用m' and s`修饰符:

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