我试图从始终出现在每行的第一个位置的文本文件中筛选域。如何使用preg_match过滤第一个匹配项
文件看起来像:
Domains Users
domain1.com User1
domain2.com User2
domain3.com User3
那是我的尝试:
preg_match_all('/^[^ ]+/', $file, $matches);
它产生以下结果:
array(1) {
[0]=>
array(1) {
[0]=>
string(6) "Domains"
}
}
它走的是第一线,但站之后。这很奇怪。
这里的任何帮助,非常感谢。
我的另一个问题是以下几点。 什么是更快,与preg_match或以下的第一批准。
$lines = preg_split('/\r\n|\r|\n/', $file);
foreach($lines as $line) {
$parts = explode(' ', $line, 2);
$domains[] = $parts[0];
}
你真的需要这里的正则表达式吗?你可以用'file()'将行加载到一个数组中,然后使用substr/strpos或爆炸/修剪来获得你的域名。 – 2013-02-08 17:10:25
@One Trick Pony这是一个好主意+1 – Aley 2013-02-08 17:37:16