當然,讓我們看看如何做到這一點。首先,我們需要將這些URL分解爲單獨的組件。我們可以通過使用explode命令做到這一點:
$urls = "http://www.trafficestimate.com/,http://getclicky.com/,http://technotarget.com/find-out-who-is-visiting-your-site-website-traffic-tools/,http://pmetrics.performancing.com/";
$url_array = explode(",", $urls);
這樣做是拿你的網址,並把它們放到一個數組將它們在逗號分隔。讓我們來看看示例結果是什麼樣的:
Array
(
[0] => http://www.trafficestimate.com/
[1] => http://getclicky.com/
[2] => http://technotarget.com/find-out-who-is-visiting-your-site-website-traffic-tools/
[3] => http://pmetrics.performancing.com/
)
漂亮的呃?現在,下一步是循環所有的結果,這可以通過一個簡單的foreach循環完成。但在我們做之前,我們需要在某個地方存儲結果域。我們聲明空數組:
$domains = array();
現在我們可以遍歷結果:
$domains = array();
foreach($url_array as $url) {
// actions here
}
那麼,我們需要什麼。對於每個結果呢?我們需要域名。 PHP實際上有一個很好的功能來解析稱爲parse_url的網址。替代方案是使用更復雜的措施,所以這很好地工作!這裏是我們更新後的代碼:
$domains = array();
foreach($url_array as $url) {
$parsed_url = parse_url($url);
}
那麼現在,讓我們看看parse_url
給我們:
Array
(
[scheme] => http
[host] => pmetrics.performancing.com
[path] =>/
)
注意主機?這是我們試圖抓住的域名。因此,我們將它添加到我們的域陣列:
$domains = array();
foreach($url_array as $url) {
$parsed_url = parse_url($url);
$domains[] = $parsed_url['host'];
}
現在讓我們看看結果是什麼:
Array
(
[0] => www.trafficestimate.com
[1] => getclicky.com
[2] => technotarget.com
[3] => pmetrics.performancing.com
)
這就是它! $domain
現在擁有所有的域名。如果我們想打印他們用逗號像上面分開,我們可以使用implode命令這樣做:
echo implode(',', $domains);
這給了我們:
www.trafficestimate.com,getclicky.com,technotarget.com,pmetrics.performancing.com
而這一切有太多啦!以下是完整的代碼清單,供大家參考:
$urls = "http://www.trafficestimate.com/,http://getclicky.com/,http://technotarget.com/find-out-who-is-visiting-your-site-website-traffic-tools/,http://pmetrics.performancing.com/";
$url_array = explode(",", $urls);
$domains = array();
foreach($url_array as $url) {
$parsed_url = parse_url($url);
$domains[] = $parsed_url['host'];
}
echo implode(',', $domains);
感謝您的詳細解釋 – john 2011-05-18 02:44:00