Php 匹配字符,包括换行符和回车符

Php 匹配字符,包括换行符和回车符,php,regex,Php,Regex,我有这一行文本,客户提交,这一行自动在65个字符处中断,我需要修改正则表达式以查找更多的行、回车符或新行字符,直到第一个标点符号,如 正在匹配的行的示例: Snippet: It's time again for the Annual State Marching Event, This Saturday at 5pm. 上面的一行超过65个字符,有时会像这样断行 Snippet: It's time again for the Annual State Marching Event, Thi

我有这一行文本,客户提交,这一行自动在65个字符处中断,我需要修改正则表达式以查找更多的行、回车符或新行字符,直到第一个标点符号,如

正在匹配的行的示例:

Snippet: It's time again for the Annual State Marching Event, This Saturday at 5pm.
上面的一行超过65个字符,有时会像这样断行

Snippet: It's time again for the Annual State Marching Event, This 
Saturday at 5pm.
它显示为
事件,此\r\n
这是我使用的regexp:

preg_match('/Snippet:(\s)?+(.*)\./i', $html_part, $matches) ? $matches[2] : '';
我试着用我的韩元来避开标点符号,但运气不好。
任何帮助都将不胜感激。提前感谢。

尝试
s
修改器,如下所示:

/Snippet:(\s)?+(.*)\./is
如果设置了此修改器,则图案中的点元字符将匹配 所有字符,包括换行符。没有它,新行被排除在外。 此修饰符相当于Perl的/s修饰符。否定类 例如[^a]始终匹配换行符,与 此修改器的设置


但我在一段文字中有这些行,这就是为什么我只希望它停在标点符号处。s修饰符最终捕获了超出我需要的其他数据。请尝试使捕获组非贪婪:
(.*)
使用此
/Snippet:(\s)?+(.*)\./ui
工作,但如何保持标点符号,使其显示为完整的句子?正则表达式中唯一的标点符号是句点,而且它没有被包括在内,因为它不在您的捕获组中。删除
\.
,如果没有修复,至少会有帮助。您还应该查看与“主题字符串结尾”匹配的
$
符号(请参阅
D
修饰符)。我知道,但这会有点违背目的:/是否有必要将要匹配的字符(在本例中为标点符号)添加到捕获组中?因为我删除了
\。
,但什么也没发生,所以我的团队甚至没有被捕获。