Pet*_*aig 1 php http href hyperlink
我有人发布他们的网站地址,但发布的变体如下:
当我链接到没有http://的地址时,它将链接作为内部链接
<a href="theirsite.com">their site</a>
Run Code Online (Sandbox Code Playgroud)
将人们发送到:http://mysite.com/thiersite.com
我尝试的另一个选项是链接到类似mysite.com/?link=theirsite.com的东西 - 这样我可以做一些链接跟踪等然后将人们重定向到链接但它有同样的问题:
//do some tracking etc here
$link =$_GET['link'];
header("Location: $link");
Run Code Online (Sandbox Code Playgroud)
这里不需要使用正则表达式.PHP内置了URL验证.
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));
Run Code Online (Sandbox Code Playgroud)
产量
bool(true)
bool(true)
bool(false)
bool(false)
Run Code Online (Sandbox Code Playgroud)
请不要直接跳到正则表达式进行验证,PHP内置了很多方法来处理这些场景.
-Mathew
| 归档时间: |
|
| 查看次数: |
1030 次 |
| 最近记录: |