38 lines
789 B
PHP
38 lines
789 B
PHP
<?php
|
|
/**
|
|
* @package Plumrocket_CookieConsent
|
|
* @copyright Copyright (c) 2022 Plumrocket Inc. (https://plumrocket.com)
|
|
* @license https://plumrocket.com/license End-user License Agreement
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Plumrocket\CookieConsent\Model\Cookie;
|
|
|
|
/**
|
|
* @since 1.8.2
|
|
*/
|
|
class ParentDomain
|
|
{
|
|
/**
|
|
* Get parent domain from subdomain.
|
|
*
|
|
* @param string $domain
|
|
* @return string
|
|
*/
|
|
public function resolve(string $domain): string
|
|
{
|
|
$countDots = substr_count($domain, '.');
|
|
|
|
if (1 === $countDots) {
|
|
return '';
|
|
}
|
|
|
|
if (2 === $countDots && preg_match('/\.\w\w\.\w\w/', $domain)) {
|
|
return '';
|
|
}
|
|
|
|
return preg_replace('/[^.]+/', '', $domain, 1);
|
|
}
|
|
}
|