如果URL中不存在http://如何?

如果URL中不存在http://如何?

http://如果URL尚未包含协议(例如http://,https://或ftp://),我该如何添加?


例:


addhttp("google.com"); // http://google.com

addhttp("www.google.com"); // http://www.google.com

addhttp("google.com"); // http://google.com

addhttp("ftp://google.com"); // ftp://google.com

addhttp("https://google.com"); // https://google.com

addhttp("http://google.com"); // http://google.com

addhttp("rubbish"); // http://rubbish


开满天机
浏览 1161回答 3
3回答

LEATH

@nickf代码的修改版本:function addhttp($url) {     if (!preg_match("~^(?:f|ht)tps?://~i", $url)) {         $url = "http://" . $url;     }     return $url;}认识到ftp://,ftps://,http://和https://在不区分大小写的方式。

慕无忌1623718

只需检查是否有协议(由“://”描述)并添加“http://”(如果没有)。if (false === strpos($url, '://')) {     $url = 'http://' . $url;}注意:这可能是一个简单而直接的解决方案,但Jack使用的答案parse_url几乎同样简单且更加健壮。你应该使用那个。
打开App,查看更多内容
随时随地看视频慕课网APP