3

我想要这样的东西

  1. 用户输入网站链接

  2. 如果链接不以“http://”开头,我需要检查链接我想将“http://”附加到链接。

我怎么能在 PHP 中做到这一点?

4

4 回答 4

11
if (stripos($url, 'http://') !== 0) {
   $url = 'http://' . $url;
}
于 2008-11-07T15:25:09.373 回答
7

我会建议对汤姆的稍作改进

if (0 !== stripos($url, 'http://') && 0 !== stripos($url, 'https://')) {
   $url = 'http://' . $url;
}

但是,这会弄乱使用其他协议的链接(ftp:// svn:// gopher:// 等)

于 2008-11-07T15:27:26.187 回答
3
if (!preg_match("/^http:\/{2}/",$url)){
    $url = 'http://' . $url;
}
于 2008-11-07T15:28:42.393 回答
2

我会检查一些字母后跟冒号。根据 URI 规范,冒号用于将“模式”(http、ftp 等)与“模式特定部分”分开。这样,如果有人输入(例如)mailto 链接,这些链接就会得到正确处理。

于 2008-11-08T20:35:43.177 回答