我在这样的数据库中存储url字符串,
'http://www.domain.com'
如何显示上面的字符串
'www.domain.com'
我需要第一手正常表达
答案 0 :(得分:4)
使用parse_url()
,您可以将网址拆分为其中的部分并获取您想要的网址。在你的情况下(寻找host
),它将是:
$url = 'http://www.domain.com';
$parts = parse_url($url);
$result = $parts['host'];
这比其他已发布的解决方案有一个很大的优势:它可以使用https-urls,带有get-parameters和/或url的url,包括htaccess-authentication paramneters,而无需更改代码。
答案 1 :(得分:1)
您可以使用以下内容:
<?php
str_replace('http://', '', $url);
编辑:
由于你坚持使用正则表达式解决方案,这里有一个在一个
中处理http和https的方法echo preg_replace( '/^(htt|ht|tt)p\:?\/\//i', '', $url);
答案 2 :(得分:1)
echo substr('http://www.domain.com',7);
if (substr('http://www.domain.com',7) == 'http://' or substr('https://www.domain.com',8) == 'https://')
答案 3 :(得分:1)
修改字符串而不解析URL的一般解决方案(即你应该学会自己做这样的事情):
if (stripos($url, 'http://', 0) == 0)
$url = substr($url, 7);
您还可以轻松添加https://
前缀或其他任何内容的其他检查:
if (stripos($url, 'https://', 0) == 0)
$url = substr($url, 8);
使用正则表达式,尽管完全没必要,因为没有任何需要的表达式,你可以像这样:
$url = preg_replace('/^http:\\/\\//', '', $url);
或直接支持https:
$url = preg_replace('/^https?:\\/\\//', '', $url);
答案 4 :(得分:1)
str_replace('http://', '', $url);
它将准确返回www.domain.com