检查URL是否包含http://或https://。

11

strpos文档,第一个例子。 - Jon
4
是的,Tomalak先生 - 如果我懂正则表达式,我会自己解决它,真的不需要在这里留下这种评论 - 我正在努力寻找答案,而不是阅读像这样毫无意义的评论。 - user398341
3个回答

39

你可以使用parse_url函数。

<?php
   $url = parse_url('https://example.org');

   if ($url['scheme'] == 'https') {
       // is https;
   }
?>

简单高效! - HappyToDev

13
if (substr($string, 0, 7) == "http://") {
   $res = "http";
}

if (substr($string, 0, 8) == "https://") {
   $res = "https";
}

-5

或许这可以帮助到您

$_SERVER['SERVER_PROTOCOL'];

这返回的是 “HTTP/1.1”,与 https 无关。 - Laurent
他问如何从URL中获取协议,这可能不一定是当前页面,它可以是一个通用字符串,在这种情况下,数组$_SERVER将完全无用(更不用说键'SERVER_PROTOCOL'是错误的,因为它不能告诉连接是否为SSL)。如果要解析的字符串也是页面URL,则可以使用$_SERVER["REQUEST_SCHEME"]返回'http'或'https',或者$_SERVER["HTTPS"]返回1(如果方案是https)。 - Frank

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接