'Plage IP' ,'netname' => 'Nom réseau' ,'descr' => 'Description' ,'country' => 'Pays' ,'status' => 'Statut' ,'abuse-mailbox' => 'Abuse mailbox' ,'origin' => 'ASN origine' ,'route' => 'Route' ) ,$lines ); } // \darkphp\DwTools::dataMap( $map ,$lines ) : array; static function dataMap(array $map ,array $lines): array { $summary = array(); foreach ($lines as $line) { if ( function_exists( 'str_contains' ) && !str_contains($line, ':')) continue; elseif ( ! preg_match('/:/',$line ) ) continue; list($key, $value) = explode(':', $line, 2); $key = strtolower(trim($key)); $value = trim($value); if ( $value === '' || !isset($map[$key]) ) { continue; } $label = $map[$key]; if (!isset($summary[$label])) { $summary[$label] = $value; } } foreach ($lines as $line) { if (stripos($line, 'abuse@') !== false && !isset($summary['Contact abuse'])) { if (preg_match('/[A-Z0-9._%+\-]+@[A-Z0-9.\-]+\.[A-Z]{2,}/i', $line, $m)) { $summary['Contact abuse'] = $m[0]; } } } return $summary; } // \darkphp\DwTools::getRootHost(); public static function getRootHost() : string { $partsDns = explode( '.' ,self::getHost() ); $nbParts = count($partsDns) - 1; return $partsDns[ $nbParts -1 ].".".$partsDns[ $nbParts ]; } // \darkphp\DwTools::getHost(); public static function getHost() : string { return $_SERVER['HTTP_HOST']; } // \darkphp\DwTools::getServerName(); public static function getServerName() : string { return $_SERVER['SERVER_NAME']; } // \darkphp\DwTools::htmlspecialchars( $value ); public static function htmlspecialchars(?string $value): string { return htmlspecialchars((string)$value, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'); } } ?>