src/Peach/Http/Header/CookieOptions.php
private function validateDomain($domain)
    {
        if ($domain === null) {
            return true;
        }
        $letter    = "[a-zA-Z0-9]";
        $letDigHyp = "(-|{$letter})";
        $label     = "{$letter}({$letDigHyp}*{$letter})*";
        $pattern   = "{$label}(\\.{$label})*";
        return preg_match("/\\A{$pattern}\\z/", $domain);
    }
private function validateDomain($domain)
    {
        if ($domain === null) {
            return true;
        }
        $letter    = "[a-zA-Z0-9]";
        $letDigHyp = "(-|{$letter})";
        $label     = "{$letter}({$letDigHyp}*{$letter})*";
        $pattern   = "{$label}(\\.{$label})*";
        return preg_match("/\\A{$pattern}\\z/", $domain);
    }
指定された文字列が, ドメイン名として妥当かどうかを確認します.
RFC 1035 に基づいて, 引数の文字列が以下の BNF 記法を満たすかどうかを調べます.
妥当な場合は true, そうでない場合は false を返します.

ただし, 本来は Invalid にも関わらず実際に使われているドメイン名に対応するため
label の先頭の数字文字列を敢えて許す実装となっています.

<pre>
{domain} ::= {subdomain} | " "
{subdomain} ::= {label} | {subdomain} "." {label}
{label} ::= {letter} [ [ {ldh-str} ] {let-dig} ]
{ldh-str} ::= {let-dig-hyp} | {let-dig-hyp} {ldh-str}
{let-dig-hyp} ::= {let-dig} | "-"
{let-dig} ::= {letter} | {digit}
</pre>

@param  string $domain 検査対象のドメイン名
@return bool           引数がドメイン名として妥当な場合のみ true