gpt4 book ai didi

php - 确保 http 出现在网址中

转载 作者:可可西里 更新时间:2023-11-01 16:47:26 24 4
gpt4 key购买 nike

我有人发布了他们的网站地址,但发布了变体,例如:

当我链接到一个没有 http://的地址时,它会将链接视为内部链接

<a href="theirsite.com">their site</a>

将人们发送到类似的地方:http://mysite.com/thiersite.com

我尝试过的另一种选择是链接到类似 mysite.com/?link=theirsite.com 的内容 - 这样我可以进行一些链接跟踪等,然后将人们重定向到该链接,但它有同样的问题:

//do some tracking etc here
$link =$_GET['link'];
header("Location: $link");

最佳答案

这里不需要使用正则表达式。 PHP 内置了 URL 验证。

Filter Var

var_dump((bool) filter_var('http://www.website.com', FILTER_VALIDATE_URL, FILTER_FLAG_HOST_REQUIRED));
var_dump((bool) filter_var('http://website.com', FILTER_VALIDATE_URL, FILTER_FLAG_HOST_REQUIRED));
var_dump((bool) filter_var('www.website.com', FILTER_VALIDATE_URL, FILTER_FLAG_HOST_REQUIRED));
var_dump((bool) filter_var('website.com', FILTER_VALIDATE_URL, FILTER_FLAG_HOST_REQUIRED));

输出

bool(true)
bool(true)
bool(false)
bool(false)

请不要直接跳到正则表达式进行验证,PHP 内置了很多方法来处理这些情况。

-马修

关于php - 确保 http 出现在网址中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/802469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com