Returns the registrable domain (eTLD+1) of each host: its public suffix plus
one host label to the left. It is NA when no such label exists (the host is
itself a public suffix) or when the public suffix is NA.
Arguments
- domain
Character vector of DNS hostnames (not URLs). Each element may be a mixed-case ASCII, Unicode, or A-label hostname, a single label, or a hostname with exactly one terminal root dot. See Input contract.
- section
Which rule sections are eligible:
"all"(default; ICANN and PRIVATE),"icann", or"private". Section filtering happens before prevailing-rule selection, so"private"does not silently add ICANN rules; a host matching no rule in the section falls through to the implicit default rule unlessunknown = "na".- output
"ascii"(default) returns lowercase A-labels;"unicode"decodes them after matching. A terminal root dot is preserved either way.- unknown
"default"(default) applies the spec's implicit*rule, so an unlisted single label is its own public suffix;"na"returnsNAwhen no explicit rule in the selected section matches.- invalid
"na"(default) returnsNAfor each invalid element without a warning;"error"aborts on the first invalid element, reporting its 1-based index.
Value
A character vector with length(domain), preserving the names of
domain. Other attributes are dropped.
Input contract
NA is treated as missing (returns NA), not invalid. Invalid elements
include empty or whitespace-only strings, leading or consecutive dots, URL
syntax, IPv6 addresses, canonical dotted-decimal IPv4 literals, and labels
that fail hostname/IDNA validation. Wrong argument types and non-scalar or
unknown option values always abort regardless of invalid.