令我惭愧的是,我不知道如何正确使用正则表达式。我有一个大文本文件,我有兴趣匹配标签[POLYLINE]和[END]之间的每个字符串出现。结构没有嵌套,这意味着我在其他[POLYLINE]和[END]中没有其他[POLYLINE]和[END]标签。我试过了:
preg_match_all('/\[POLYLINE\](.*?)\[END\]/', $fileContents, $matches);
希望在$ matches中获得一个字符串数组。这会返回一些东西,但不是我需要的东西。
答案 0 :(得分:2)
为DOTALL功能添加s
标志,使其在多行中匹配:
preg_match_all('/\[POLYLINE\](.*?)\[END\]/s', $fileContents, $matches);