【问题标题】:how to check if string has server ih php [duplicate]如何检查字符串是否在php中具有服务器[重复]
【发布时间】:2016-05-09 16:25:51
【问题描述】:

如何根据 url 是绝对的还是相对的来检查字符串是否有服务器?

function hasServer($url){
    ...
}

如果是这样,则返回 true

hasServer('http://www.google.com/');

否则返回false

hasServer('/about-us/team/');

【问题讨论】:

  • “如果字符串有服务器”是什么意思?
  • 您的意思是$url 是否是在线活动网址?请更正您的问题,以便更清楚。
  • 我的意思是如果有像 www.google.com 这样的子字符串(是绝对 url)或者没有“服务器”字符串(是相对 url)

标签: php function url


【解决方案1】:

我想这就是你要找的东西:

$url = 'http://www.google.com/';
$hasServer = filter_var($url, FILTER_VALIDATE_URL);

【讨论】:

  • 你为什么要去把my edited双引号改成单引号?我在这里看不到改进,如果应该在单引号内传递一个变量并且 OP 想要传递,那么您的答案将失败
  • @Fred-ii- 为什么要在字符串文字上使用双引号?一般来说,这是不好的做法,因此应该避免。如果 OP 将变量放在单引号内,那是他的错误,他又学到了一件事。我不知道您的编辑会从历史中消失,您是否因此失去了代表?
【解决方案2】:

根据我的经验,实际上有几个选项。一种是使用headers() 函数,然后分析您在结果数组中获得的信息。

$arrayResult = headers('http://www.google.com/');
foreach ($arrayResult as $value)
{
  echo "-- ".$value."<br>";
}

输出应为您提供有关该 url 是否实际存在所需的所有信息。

在我看来,一个更简单的解决方案是检查fopen() 函数是否真的适用于网址!

if (fopen('http://www.google.com/', "r")
{
  echo "the URL exists!<br>";
}

您可以选择更需要哪一台服务器。

【讨论】:

  • headers('http://www.google.com/); 在这里遗漏了一些东西。 (引用)
猜你喜欢
  • 1970-01-01
  • 2023-03-31
  • 2022-12-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-14
  • 2017-02-01
  • 1970-01-01
  • 2018-10-17
相关资源
最近更新 更多