我正在输入URL到我的数据库中,我得到了所有可能的条目
我有以下代码,可以取消http://
或http
或www
.com
.co.uk
但问题是这个
当我进入像hat.com这样的网站时,它会把'h'带走,这会发生在t,p,w,如果它的.co.uk只会删除.uk
$new = rtrim($url, "/");
$reverse = strrev( $new );
$new = rtrim($reverse, ".www");
$new = rtrim($reverse, "//:ptth");
$new = rtrim($reverse, ".www//:ptth");
$new = rtrim($reverse, "//:sptth");
$new = rtrim($reverse, ".www//:sptth");
$url = strrev( $new );
我错过了什么,我需要添加什么?
答案 0 :(得分:1)
使用正则表达式将有助于此:
preg_replace('~(^https?(://(www\.)?)?|\.com$|\.co\.uk$)~', '', $url);
使用的正则表达式将匹配:
http
,https
,http://
,https://
,http://www.
,https://www.
.com
,.co.uk
位于字符串的末尾。见这个例子:
php> $url = 'https://www.example.com';
'https://www.example.com'
php> preg_replace('~(^https?(://(www\.)?)?|\.com$|\.co\.uk$)~', '', $url);
'example'
php> $url = 'http://hat.com';
'http://hat.com'
php> preg_replace('~(^https?(://(www\.)?)?|\.com$|\.co\.uk$)~', '', $url);
'hat'