tengo saber quien propietario pertenece pero dueño dominios dominio comprar php url domain-name

php - saber - Extrae el dominio registrado de la URL según la lista de sufijos públicos



whois dominio (3)

Esta pregunta es un poco antigua, pero hay una nueva solución: https://github.com/jeremykendall/php-domain-parser

Esta biblioteca hace exactamente lo que quieres. Aquí está la configuración:

$pslManager = new Pdp/PublicSuffixListManager(); $parser = new Pdp/Parser($pslManager->getList()); echo $parser->getRegisterableDomain(''www.scottwills.co.uk'');

Esto imprimirá "scottwills.co.uk" .

Dada una URL, ¿cómo extraigo el dominio registrado usando la Lista de sufijos públicos (lista de TLD efectivos, por ejemplo, esta lista )?

Por ejemplo, considerando a.bg es un sufijo público válido:

http://www.test.start.a.bg/hello.html -> start.a.bg http://test.start.a.bg/ -> start.a.bg http://test.start.abc.bg/ -> abc.bg (.bg is the public suffix)

Esto no se puede hacer utilizando la manipulación simple de cadenas porque el sufijo público puede constar de múltiples niveles dependiendo del TLD.

PD: No importa cómo lea la lista (base de datos o archivo sin formato), pero la lista debe ser accesible localmente, así que no siempre dependo de los servicios externos.


Puede usar parse_url() para extraer el nombre de host, luego use la biblioteca proporcionada por regdom para determinar el nombre de dominio registrado (dn + eTLD). Por ejemplo:

require_once("effectiveTLDs.inc.php"); require_once("regDomain.inc.php"); $url = ''http://www.metu.edu.tr/dhasjkdas/sadsdds/sdda/sdads.html''; echo getRegisteredDomain(parse_url($url, PHP_URL_HOST));

Eso se imprimirá metu.edu.tr

Otros ejemplos que he probado:

http://www.xyz.start.bg/hello -> start.bg http://www.start.a.bg/world -> start.a.bg (a.bg is a listed eTLD) http://xyz.ma219.metu.edu.tr -> metu.edu.tr http://www.google.com/search -> google.com http://google.co.uk/search?asd -> google.co.uk

ACTUALIZACIÓN: estas bibliotecas se han movido a: https://github.com/leth/registered-domains-php


Recomiendo usar TLDExtract , tiene una base de datos actualizable generada a partir de PSL .

$extract = new LayerShifter/TLDExtract/Extract(); $result = $extract->parse(''shop.github.com''); $result->getFullHost(); // will return (string) ''shop.github.com'' $result->getRegistrableDomain(); // will return (string) ''github.com'' $result->isValidDomain(); // will return (bool) true $result->isIp(); // will return (bool) false