我試圖從始終出現在每行的第一個位置的文本文件中篩選域。如何使用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