首頁  >  文章  >  後端開發  >  preg_match_all m多行模式的问题,

preg_match_all m多行模式的问题,

WBOY
WBOY原創
2016-06-23 13:47:381255瀏覽

我打算用多行模式匹配文本

<?php$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";

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn