基本上,我使用gethostbyname()
来获取指定网址的IP地址,使用parse_url()
来确定特定的域。但是,如果http://
不在URL中(除非我缺少选项),这不起作用
那么如何检查网址中是否有http://
,如果没有,请正确添加?
或者如果有更好的选择,我想听听。感谢。
答案 0 :(得分:7)
<?php
$url = [some url here];
if(substr($url, 0, 7) != 'http://') {
$url = 'http://' . $url;
}
?>
答案 1 :(得分:1)
嗯,严格地说,你也需要考虑https,甚至ftp和mailto,这取决于你在做什么。 你可能想先检查':',没有你肯定没有协议,可以跳过其余的,你可能有一个协议,或者可能是一个端口规范。
<?php
$url = [some url here];
if(substr($url, 0, 7) != 'http://') {
if(substr($url, 0, 8) != 'https://') {
$url = 'http://' . $url;
}
}
?>
等
答案 2 :(得分:1)
简单的解决方案:
if(!preg_match('/http[s]?:\/\//', $url, $matches)) $url = 'http://'.$url;
答案 3 :(得分:-4)
if (strpos("http://", $url) === "true"){
action
};