我需要比較URL並從陣列中刪除重複項,但我只想比較來自url的主機。當我比較時,我需要跳過http和https以及www和其他最後一個斜槓。 所以當我有數組:比較URL數組中的主機名並獲取唯一值
$urls = array(
'http://www.google.com/test',
'https://www.google.com/test',
'https://www.google.com/example',
'https://www.facebook.com/example',
'http://www.facebook.com/example');
結果將是隻
http://www.google.com/test
http://www.google.com/example
http://www.facebook.com/example
我試圖比較喜歡:
$urls = array_udiff($urls, $urls, function ($a, $b) {
return strcmp(preg_replace('|^https?://(www\\.)?|', '', rtrim($a,'/')), preg_replace('|^https?://(www\\.)?|', '', rtrim($b,'/')));
});
但它返回我空數組。
也許添加正則表達式標記。 – charlesreid1
看看[這個](http://php.net/manual/en/function.parse-url.php) – gmc
但是,你可以向我展示工作示例或任何想法? – LukeKov