2011-01-22 163 views
0

我看不到preg_match的結果!哪裏有問題?爲什麼不顯示preg_match的結果?

preg_match('@^(?:http://)?([^/]+)@i',"'".$urls['url']."'", $matches); 
    $host = $matches[1]; 
    preg_match('/[^.]+\.[^.]+$/', $host, $matches); 
echo "from: <p id='long'>{$matches[0]}\n</p>"; 
} 

輸出:

from: 
+2

爲什麼你要運行兩個`的preg_match()`電話?而且,你的`(?:http://)?`會因爲你的測試字符串中的```而始終與空白匹配。 – BoltClock 2011-01-22 17:19:45

回答

1
echo parse_url($urls['url'], PHP_URL_HOST); 
2

如果輸入的只是一個網址,你可以使用parse_url(),你的情況與PHP_URL_HOST標誌。

1

爲什麼不使用parse_url()

,改變"'".$urls['url']."'"$urls['url']

相關問題