如何检查两个URL字符串是否相同,例如
以上所有网址都指向同一页
假设我的数据库中有一个urls目录,我正在向已存在的数据库添加一个url。如何使用PHP验证上述场景的唯一性。
答案 0 :(得分:3)
使用parse_url
将网址细分为多个部分,并比较那些必须与“相同”定义匹配的网址。
例如:
function areUrlsTheSame($url1, $url2)
{
$mustMatch = array_flip(['host', 'port', 'path']);
$defaults = ['path' => '/']; // if not present, assume these (consistency)
$url1 = array_intersect_key(parse_url($url1), $mustMatch);
$url2 = array_intersect_key(parse_url($url2), $mustMatch);
return $url1 === $url2;
}
<强> See it in action 强>