>백엔드 개발 >PHP 튜토리얼 >preg_match_all m多行模式的有关问题

preg_match_all m多行模式的有关问题

WBOY
WBOY원래의
2016-06-13 12:08:001821검색

preg_match_all \m多行模式的问题,
我打算用多行模式匹配文本

<br /><?php<br />$str=file_get_contents('1.txt');<br />$pat="#^[a-z0-9]+$#m";<br />preg_match_all($pat,$str,$matches);<br />var_dump($matches);<br />?><br />


1.txt内容如下
hello
qunide
budui
nihao
goole

最终只匹配出最后一个  google

多行模式的意思不是每一行都匹配^$然后可以把每一行的匹配项拿出来吗?按理来说应该匹配所有行啊,
为什么只匹配了最后一行呢,求大神赐教~~
------解决思路----------------------
显然你遗漏了对 windows 的“回车”符的检查
这样才对
$pat = "#^[a-z0-9]+\r?$#m";

$pat = "#^[a-z0-9]+#m";

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.