InputAccessoryView внутри UIPageViewController не отображается по умолчанию

Я добавляю этот ответ позже, так как это ответ, который больше всего появляется в Google ...

Вы можете использовать PHP для ...

$url = "www.google.co.uk";
$host = parse_url($url, PHP_URL_HOST);
// $host == "www.google.co.uk"

to захватите хост , но не частный домен , к которому относится хост. (Пример www.google.co.uk является хостом, но google.co.uk является частным доменом)

Чтобы захватить частный домен, вам необходимо знать список общедоступных суффиксов, для которых один может зарегистрировать частный домен. Этот список, по-видимому, куратор Mozilla в https://publicsuffix.org/

Нижеприведенный код работает, когда уже создан массив общедоступных суффиксов. Просто назовите

$domain = get_private_domain("www.google.co.uk");

с остальным кодом ...

// find some way to parse the above list of public suffix
// then add them to a PHP array
$suffix = [... all valid public suffix ...];

function get_public_suffix($host) {
  $parts = split("\.", $host);
  while (count($parts) > 0) {
    if (is_public_suffix(join(".", $parts)))
      return join(".", $parts);

    array_shift($parts);
  }

  return false;
}

function is_public_suffix($host) {
  global $suffix;
  return isset($suffix[$host]);
}

function get_private_domain($host) {
  $public = get_public_suffix($host);
  $public_parts = split("\.", $public);
  $all_parts = split("\.", $host);

  $private = [];

  for ($x = 0; $x < count($public_parts); ++$x) 
    $private[] = array_pop($all_parts);

  if (count($all_parts) > 0)
    $private[] = array_pop($all_parts);

  return join(".", array_reverse($private));
}

0
задан SuperDuperTango 13 July 2018 в 08:09
поделиться