PHP预匹配直到双线中断

PHP预匹配直到双线中断,php,preg-match,Php,Preg Match,我在mysql字段中有以下数据: First text text text text text text text text text text text text text text text text text text text text Second text text text text text text text text text text text text text text text text text text text text 我正试着从第一个单词开始

我在mysql字段中有以下数据:

First text text text text
 text text text text
 text text text text text text
 text text text text text text

Second text text text text
 text text text text
 text text text text text text
 text text text text text text
我正试着从第一个单词开始,一直到双行分隔符。我试过:

preg_match('/First(.*)\n\n/', $mysqlrow, $m);
这不会返回任何行。我还尝试了
m
s
修饰符,它们没有返回正确的字符串。我还尝试了
\r\n
,但没有返回任何内容


如何执行此操作

您需要
s
修饰符,还需要将通配符量词更改为非贪婪:

preg_match('/First(.*?)\n\n/s', $mysqlrow, $m);
s
选项将导致
通配符匹配
\n
,而非贪婪选项将导致
*
通配符在匹配
\n\n
之前不会吃掉它运行的所有
\n

您还可以选择匹配
\r
,以防数据库中有:

preg_match('/First(.*?)\r?\n\r?\n/s', $mysqlrow, $m);

这是你需要的另一面旗帜。标志“s”允许点捕获换行符。但是它会吃掉你的双倍'\n'

您可以尝试:

preg_match('/First(.*?)\n\n/s', $mysqlrow, $m);

用这个?扭转贪婪的行为。请注意,拆分字符串可以使用split函数完成,该函数可能更适合您的情况。

是否包括第一个单词?直到并包括双线中断?是否总是只有单词,还是有数字或其他字符?您是否尝试过
preg\u split(“/\r?\n/”,$mysqlrow)