📌  相关文章
📜  如果 http: 在PHP的 URL 中不存在,如何添加它?(1)

📅  最后修改于: 2023-12-03 15:38:57.751000             🧑  作者: Mango

在 PHP 的 URL 中添加 HTTP

在 PHP 中,如果 URL 中不包含 HTTP 或 HTTPS,可能会导致访问网站出错。这种情况下,需要在 URL 中添加 HTTP 或 HTTPS。下面介绍如何在 PHP 的 URL 中添加 HTTP 或 HTTPS。

第一种方法

使用 PHP 的字符串函数 strpos() 可以检查字符串中是否包含指定的子串。如果没有包含,可以通过字符串拼接的方式在字符串前面添加子串。

$url = 'example.com';
if(strpos($url, 'http://') === false) {
    $url = 'http://' . $url;
}

代码解释:

  • 第一行定义了一个变量 $url,它的值是 URL 地址。
  • 第二行使用 strpos() 函数检查 $url 是否包含字符串 'http://',如果没有,则返回 false
  • 如果返回的值是 false,说明 $url 字符串不包含 'http://',那么可以在字符串的前面添加 'http://'
第二种方法

另一种常用的方法是使用 PHP 内置函数 parse_url() 来解析 URL。然后使用 array_key_exists() 检查 URL 是否包含 scheme 键,如果没有,则添加 'http'。这个方法检查 URL 的效率比第一种方法更高。

$url = 'example.com';
$info = parse_url($url);
if(!array_key_exists('scheme', $info)) {
    $url = 'http://' . $url;
}

代码解释:

  • 第一行定义了一个变量 $url,它的值是 URL 地址。
  • 第二行使用 parse_url() 函数解析 $url,并将结果保存在 $info 变量中。
  • 如果 $info 数组中不包含 'scheme' 键,说明 URL 中不包含 HTTP 或 HTTPS 协议。
  • 在 URL 前面添加 'http://'

以上两种方法都可以在 PHP 的 URL 中添加 HTTP。第一种方法使用 strpos() 函数检查字符串中是否包含指定的子串。第二种方法使用 parse_url() 函数解析 URL,然后检查数组中是否包含协议键('scheme')。