Sha256: 63338a15e65e64e852f5a7c805a9bdefa7f9a56a3c470f1b24e9d5832298e57c

Contents?: true

Size: 1.2 KB

Versions: 22

Compression:

Stored size: 1.2 KB

Contents

<?php

$map = array();

// grab list of known SLDs from https://github.com/gavingmiller/second-level-domains
// using curl since file_get_contents() won't do SSL...
$url = 'https://raw.github.com/gavingmiller/second-level-domains/master/SLDs.csv';
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_MAXREDIRS, 10);
$source = curl_exec($curl);


// $source is a CSV, but a rather simple one I wouldn't go through the hassle of using str_getcsv() for
$source = preg_split("/\r\n|\r|\n/", $source);
foreach ($source as $line) {
    $t = explode(',', $line);
    $tld = strtolower(substr($t[0], 1)); // skip the leading dot
    $sld = strtolower(substr($t[1], 1, strrpos($t[1], '.') - 1));
    if (!$tld || !$sld || strpos($sld, '.') !== false) {
        continue;
    }
    
    $map[$tld][] = $sld;
}

// source seems to be tainted with duplicates (and false SLDs like "govt.uk")
// for now we don't care about false (or missing) SLDs
foreach ($map as $tld => &$slds) {
    $slds = array_unique($slds);
    sort($slds);
    $slds = join('|', $slds);
}

echo json_encode($map);

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
kea-rails-1.0.9 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-2.0.0.pre.alpha14 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-2.0.0.pre.alpha13 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-2.0.0.pre.alpha12 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-2.0.0.pre.alpha11 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-2.0.0.pre.alpha10 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-2.0.0.pre.alpha9 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-2.0.0.pre.alpha8 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-2.0.0.pre.alpha7 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-2.0.0.pre.alpha6 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-2.0.0.pre.alpha5 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-2.0.0.pre.alpha4 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-2.0.0.pre.alpha3 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-2.0.0.pre.alpha2 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-1.0.8 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-2.0.0.pre.alpha1 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-1.0.7 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-1.0.6 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-1.0.5 vendor/assets/components/uri.js/utils/SLDs.php
kea-rails-1.0.4 vendor/assets/components/uri.js/utils/SLDs.php