2016-10-28 2 views
-4

주어진 도메인에서 도메인 확장자를 찾고 싶습니다.3 층 도메인 또는 하위 도메인에서 도메인 확장자를 찾는 방법

$domains=array('rni.nic.in','ccert.edu.in', 'xyz.rni.nic.in', 'www.subdomain.gov.in'); 

나는 .gov.in처럼 마지막에서 두 번째 도메인의 값을 필요로하거나

+0

시도한 것을 공유 할 수 있습니까? –

+0

$ allow_domains = array ('. gov.in', '.nic.in', '.ac.in', '.edu.in',); 함수 splitDomain ($ url) { $ host = ""; $ url = parse_url ($ url); print_r ($ url); if (isset ($ url [ 'host'])) { $ host = $ url [ 'host']; } else { $ host = $ url [ 'path']; } $ host = str_replace ('www.', '', $ host); $ tmp = 폭발 ('.', $ 호스트); $ name = $ tmp [0]; return $ tld = $ tmp [1]; } echo $ ext = splitDomain ('bizdir.gov.in'); $ l7 = substr ($ ext, -7); $ l6 = substr ($ ext, -6); if (in_array ($ l6, $ allow_domains) || in_array ($ l7, $ allow_domains)) { echo 'got it'; } –

+0

원래 정보를 수정하여 새로운 정보 나 코드를 추가하십시오. 주석에서 코드를 해독 할 방법이 없습니다. –

답변

0

.nic.in 당신은 도트 후 문자 그룹을 일치하는 정규 표현식을 사용할 수 있습니다

정규식 :

`/\.(\w+)\.(\w+)$/` 

및 사용할 수있는 결과로 돌아 가기

`preg_match(pattern, subject, match)` 

당신은 같은 것을 할 수 있습니다

$domains = array('rni.nic.in', 'ccert.edu.in', 'xyz.rni.nic.in', 'www.subdomain.gov.in'); 

preg_match('/\.(\w+)\.(\w+)$/', 'rni.nic.in', $domain1); 

echo $domain1[0]; 

preg_match('/\.(\w+)\.(\w+)$/', 'www.subdomain.gov.in', $last); 

echo $last[0]; 

여기 문서를 참조하십시오 :

===>preg_match docs

희망이 당신이 원하는 것을 할.

관련 문제