如何根据网站是否支持http或https获取网站名称?

时间:2019-05-17 08:08:16

标签: php url

我具有以下形状的链接:http://website.com/stuffhttps://website.nl/stuff。我想返回带有网站名称和域名的http / https部分。例如,如果我有

https://www.stackoverflow.com/questions/55823298/how-do-i-check-if-a-string-is-entirely-made-of-the-same-substring

我想返回https://www.stackoverflow.com

如果我有

http://www.website.nl/questions/55823298/how-do-i-check-if-a-string-is-entirely-made-of-the-same-substring

我想退回http://www.website.nl

我现在有一个非常基本的代码来实现这一目标:

<?php
$urlData = parse_url('https://www.stackoverflow.com/questions/55823298/how-do-i-check-if-a-string-is-entirely-made-of-the-same-substring');
echo "https://".$urlData['host'];

但是,我希望代码查看URL并确定其应为httphttps的前缀。我该如何实现?

2 个答案:

答案 0 :(得分:2)

我根据@RiggsFolly的建议对代码进行了如下调整,并实现了我想要的:

<?php
$urlData = parse_url('http://website.nl/questions/55823298/how-do-i-check-if-a-string-is-entirely-made-of-the-same-substring');
echo $urlData['scheme'].'://'.$urlData['host'];

根据需要返回http://website.nl

答案 1 :(得分:-3)

获取输入字符串的前五个字符,然后将其比较为“ https”还是“ http:”。

引用链接的question

  

对于single-byte strings(例如US-ASCII,ISO 8859系列等),请使用substr;对于multi-byte strings(例如UTF-8,UTF-16等),请使用{ {3}}:

    // singlebyte strings
    $result = substr($myStr, 0, 5);
    // multibyte strings
    $result = mb_substr($myStr, 0, 5);