/** * Check tld * * @param string $strTld Tld * @param boolean $booIntranet * * @return boolean */ public static function isValid($strTld, $booIntranet = false) { $strTld = static::removeDot($strTld); $objTldList = new TldList(); if (!$booIntranet) { return in_array($strTld, $objTldList->get()); } if (strpos($strTld, '.') === false) { $arrCheckList = array($strTld); } else { $arrCheckList = explode('.', $strTld); } // endif foreach ($arrCheckList as $strTmpTld) { if (preg_match('/^([0-9]+)$/', $strTmpTld)) { return false; } if (preg_match('/^[[:alnum:]]+([\\-]+[[:alnum:]]+)*$/', $strTmpTld) < 1) { // if (preg_match('/^[0-9a-z]+[0-9a-z\-]*[0-9a-z]+$/', $strTmpTld) < 1) { return false; } } // endforeach //return preg_match( '/^([0-9a-z\-\.]*[\.]{1})*[0-9a-z\-]+$/', $strTmpTld ) >= 1; return true; }
/** * @param string $strTld * @param integer $intLevel * @param boolean $booTrue * * @covers Etechnika\ExtLib\Domain\TldList::getLevel * @dataProvider providerGetLevel */ public function testGetLevel($strTld, $intLevel, $booTrue) { if ($booTrue) { $this->assertTrue(in_array($strTld, $this->object->get($intLevel)), $strTld); } else { $this->assertFalse(in_array($strTld, $this->object->get($intLevel)), $strTld); } }