我在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
Run Code Online (Sandbox Code Playgroud)
我正试图从第一个单词到双线断点进行预匹配.我试过了:
preg_match('/First(.*)\n\n/', $mysqlrow, $m);
Run Code Online (Sandbox Code Playgroud)
这不返回任何行.我也试过m和s改性剂,不返回正确的字符串.我也尝试了\r\n什么都没有返回任何东西.
你怎么做到这一点
您需要s修饰符,还需要将通配符量词更改为非贪心:
preg_match('/First(.*?)\n\n/s', $mysqlrow, $m);
Run Code Online (Sandbox Code Playgroud)
该s选项将导致.通配符匹配\n,非贪婪将导致*通配符\n\n在匹配之前不会消耗它所运行的所有通配符\n\n.
您也可以选择匹配\r,以防您在数据库中拥有它:
preg_match('/First(.*?)\r?\n\r?\n/s', $mysqlrow, $m);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3479 次 |
| 最近记录: |