source code.'; } function showSmsEmailAddresses($phoneNumbers) { foreach (explode("\n", $phoneNumbers) as $line) { $tokens = explode(',', $line); if (count($tokens) > 1) { $address = getSmsEmailAddress($tokens[1]); if (!is_null($address)) printf('"Cell - %s" <%s>,
', $tokens[0], $address); } } } function getSmsEmailAddress($phoneNumber) { STATIC $baseUrl = 'http://www.fonefinder.net/findome.php?npa=%s&nxx=%s&thoublock=%s'; $parts = explode('-', $phoneNumber); if (count($parts) != 3) return null; $area = trim($parts[0]); $exchange = trim($parts[1]); $local = trim($parts[2]); $url = sprintf($baseUrl, $area, $exchange, $local); // echo $url . '
'; $gateway = getGateway($url); $address = sprintf('%s%s%s@%s', $area, $exchange, $local, $gateway); return $address; } function getGateway($url) { STATIC $gateways = array( '/DBA VERIZON/' => 'vtext.com', '/NEW CINGULAR/' => 'txt.att.net', '/POWERTEL/' => 'tmomail.net', '/METRO PCS, INC/' => 'mymetropcs.com', '/NEXTEL/' => 'messaging.sprintpcs.com', '/SPRINT SPECTRU/' => 'messaging.sprintpcs.com', '/WINDSTREAM/' => 'FIX-WINDSTREAM' ); $html = file_get_contents($url); foreach ($gateways as $match=>$gateway) if (preg_match($match, $html)) return $gateway; return sprintf('UNKNOWN - see %s', $url, $url); } ?>