preg_match_allm多行模式的有关问题
时间:2021-07-01 10:21:17
帮助过:7人阅读
preg_match_all \m多行模式的问题,
我打算用多行模式匹配文本
$str=file_get_contents('1.txt');
$pat="#^[a-z0-9]+$#m";
preg_match_all($pat,$str,$matches);
var_dump($matches);
?>
1.txt内容如下
hello
qunide
budui
nihao
goole
最终只匹配出最后一个 google
多行模式的意思不是每一行都匹配^$然后可以把每一行的匹配项拿出来吗?按理来说应该匹配所有行啊,
为什么只匹配了最后一行呢,求大神赐教~~
------解决思路----------------------显然你遗漏了对 windows 的“回车”符的检查
这样才对
$pat = "#^[a-z0-9]+\r?$#m";
或
$pat = "#^[a-z0-9]+#m";