Comparing Url Components
If you need to, it's really easy to compare components of 2 different urls.
$url1 = Url::parse('https://www.example.com/foo/bar');
$url2 = Url::parse('https://www.example.org/contact?key=value');
if ($url1->compare($url2, 'host')) {
echo "Urls 1 and 2 ARE on the same host.\n";
} else {
echo "Urls 1 and 2 ARE NOT on the same host.\n";
}
if ($url1->compare($url2, 'subdomain')) {
echo "Urls 1 and 2 ARE on the same subdomain.\n";
} else {
echo "Urls 1 and 2 ARE NOT on the same subdomain.\n";
}
if ($url1->compare($url2, 'query')) {
echo "Urls 1 and 2 HAVE the same query.\n";
} else {
echo "Urls 1 and 2 DO NOT HAVE the same query.\n";
}
Output
Urls 1 and 2 ARE NOT on the same host.
Urls 1 and 2 ARE on the same subdomain.
Urls 1 and 2 DO NOT HAVE the same query.
And again, this can be done with all components listed under the
available url components. Instead of a Url
object ($url2
in the example above) you can also just provide a url as a
string.
$url1 = Url::parse('https://www.example.com/foo/bar');
$url2 = 'https://www.example.org/foo/bar?key=value';
if ($url1->compare($url2, 'path')) {
echo "Urls 1 and 2 HAVE the same path.\n";
} else {
echo "Urls 1 and 2 DO NOT HAVE the same path.\n";
}
Output
Urls 1 and 2 HAVE the same path.