2011-08-10 15 views
3

大学のedu電子メールアドレスの電子メール検証が登録されている登録フォームがあるとします。電子メールドメインからの大学名の登録フォーム

データベースに挿入するために、PHPを使用して大学名を取得するにはどうすればよいでしょうか?

私が考えることができる唯一の方法は、college.eduアドレス、次にname = collegeの場合に使用することです。しかし、何千ものカレッジがあり、効率的ではないようです。

+1

http://whoisxmlapi.com/ – ajreal

答えて

1

電子メールの値を含む文字列を "@"で区切り、 "。"で区切ります。結果の配列の3番目のオブジェクトがeduと等しい場合は、配列の2番目のオブジェクトをデータベースに追加します。

あなたのために機能するか、私はあなたのお問い合わせを誤解していますか?

+0

迅速な対応をありがとう!私が持っているメンタルブロックは、ほとんどの大学の電子メールドメインがフォーマットされていないか省略されていて、2000年の大学を入力しなくても電子メールアドレスから正しいフォーマットを得る方法を見つけようとしていました。 私が考えることができる唯一の方法は、名前とドメインを持つ配列を使用することです。これは、とにかく2000を入力するか、ユーザーが別の動物である大学を追加するよう要求する必要があります一緒に – Jack

0

は、この機能を試してみてください:

function getDomainParts($email) { 
    $posDom = strrpos($email, "@"); 
    $posTLD = strrpos($email, "."); 
    return array( 
     "tld" => substr($email, $posTLD+1), 
     "domain" => substr($email, $posDom+1, $posTLD-$posDom-1) 
    ); 
} 

$tests = array(
    "[email protected]", 
    "[email protected]", 
    "[email protected]" 
); 

foreach($tests as $k => $v) { 
    $temp = getDomainParts($v); 
    if($temp['tld'] == "edu") 
     echo("College: " . $temp['domain'] . "<br>"); 
    else 
     echo("Not Edu Address: " . $v . " (" . $temp['tld'] . ")<br>"); 
} 

出力:

大学:大学

大学:bobstruckingacademy

ないエドゥ住所:[email protected](COM)

これはおそらくあなたが求めているものを正確に得ることはできないと私は理解します。私がMSUに入れた場合(例として)、それはミスリ州を意味しますか?ミシシッピ州?ミシガン州?検索配列や何らかの種類のテーブルがなければ、 'msu'はあなたの登録フォームと同じくらい良いものです。

また、すべてのカレッジを含むドロップダウンを提供し、ユーザーに選択させることもできますが、再度、すべての大学名の入力に頼っています。

編集

このリンクはあなたを助けるかもしれない:List of edu Domains

1

ので、定期的に、私は.eduトップレベルドメインに精通していないが、私は、登録者が自分のwhoisレコードに有効な情報を提供するために必要とされていると推定しますwhois検索は出発点になる可能性があります。例えば、http://whois.domaintools.com/stanford.edu表示する。この:もちろん

Domain Name: STANFORD.EDU 

Registrant: 
    Stanford University 
    The Board of Trustees of the Leland Stanford Junior University 
    241 Panama Street, Pine Hall, Room 115 
    Stanford, CA 94305-4122 
    UNITED STATES 

、問題が自動化されたクエリを受け入れる検索プロバイダを見つけることです。

関連する問題