我具有以下形状的链接:http://website.com/stuff
和https://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并确定其应为http
或https
的前缀。我该如何实现?
答案 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);