Учитывая URL, как извлечь зарегистрированный домен, используя Public Suffix List (список действующих ДВУ, например this list)?
Например, если учесть, что a.bg
является допустимым публичным суффиксом:
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)
Это невозможно сделать с помощью простой манипуляции строками, поскольку публичный суффикс может состоять из нескольких уровней в зависимости от TLD.
P.S. Неважно, как я буду читать список (база данных или плоский файл), но список должен быть доступен локально, чтобы я не зависел от внешних сервисов.