码
(preg_match_all("#\[level-(.+)-\](.+?)\[/level\]#", $string, $matches)
Run Code Online (Sandbox Code Playgroud)
问题
如果我$string用enter 赋值,我的正则表达式不起作用.
例:
//This doesn't work
$string = '[level-0-]This is a
test[/level]';
//This works
$string = '[level-0-]This is a test[/level]';
Run Code Online (Sandbox Code Playgroud)
我想要的是
我想我的正则表达式无论是什么字符(输入等等)都可以工作.
如果有人能帮我解决这个问题,我会很高兴的.我仍然没有深入研究正则表达式,所以我对它并不那么好:(
你只需要你的正则表达式中的DOTALL标志/s.这允许点.匹配任何字符,包括换行符(默认情况下不会这样做).
preg_match_all("#\[level-(.+)-\](.+?)\[/level\]#s", ....
Run Code Online (Sandbox Code Playgroud)
另请参阅PCRE标志列表http://php.net/manual/en/reference.pcre.pattern.modifiers.php
| 归档时间: |
|
| 查看次数: |
364 次 |
| 最近记录: |