【发布时间】:2011-07-18 20:05:16
【问题描述】:
我有一堆这样的网址。
$urls = array(
'https://site1.com',
'https://www.site2.com',
'http://www.site3.com',
'https://site4.com',
'site5.com',
'www.site6.com',
'www.site7.co.uk',
'site8.tk'
);
我想删除 http、https、:// 和 www。来自这些字符串,以便输出看起来像这些。
$urls = array(
'site1.com',
'site2.com',
'site3.com',
'site4.com',
'site5.com',
'site6.com',
'site7.co.uk',
'site8.tk'
);
我想出了这个解决方案。
foreach ($urls as $url) {
$pattern = '/(http[s]?:\/\/)?(www\.)?/i';
$replace = "";
echo "before: $url after: ".preg_replace('/\/$/', '', preg_replace($pattern, $replace, $url))."\n";
}
我想知道如何避免第二个 preg_replace。有任何想法吗?
【问题讨论】: