1

我有这行特定的文本并且客户提交,并且该行在 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.

显示为Event, This\r\n 这是我使用的正则表达式:

preg_match('/Snippet:(\s)?+(.*)\./i', $html_part, $matches) ? $matches[2] : '';

我试过用韩元来逃避标点符号,但没有运气。任何帮助,将不胜感激。提前致谢。

4

1 回答 1

2

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

/Snippet:(\s)?+(.*)\./is

如果设置了此修饰符,则模式中的点元字符匹配所有字符,包括换行符。没有它,换行符被排除在外。这个修饰符等价于 Perl 的 /s 修饰符。诸如 [^a] 之类的否定类始终匹配换行符,与此修饰符的设置无关。

来源

演示

于 2012-05-03T22:05:16.930 回答