가져 오기 : I 시도 *.test.com
및 *.test1.com
: 당신은 str_pos을 사용할 수만 지정된 URL
if((preg_match('.\w+.test.com', $_SERVER['HTTP_ORIGIN'])) or (preg_match('.\w+.test1.com', $_SERVER['HTTP_ORIGIN']))){
}
가져 오기 : I 시도 *.test.com
및 *.test1.com
: 당신은 str_pos을 사용할 수만 지정된 URL
if((preg_match('.\w+.test.com', $_SERVER['HTTP_ORIGIN'])) or (preg_match('.\w+.test1.com', $_SERVER['HTTP_ORIGIN']))){
}
, 당신은 주어진 URL을 분해 할 수있는 가장 신뢰할 수있는 방법을 원한다.
if (preg_match('/test1?\.com$/', $host)) {
//match
}
정규식 작품 : 다음
$host = parse_url($url, PHP_URL_HOST);
, 당신은 당신이 정규식을 사용하여 수행 할 수 test.com
또는 test1.com
에 종료 여부를 확인하려면이 들어, PHP의 built-in parse_url
function 사용할 수 같은 :
test
: 문자열 리터럴 "테스트"1?
는 : 리터럴 1
일치하지만, 선택, 그래서 모두 test
및 test1
는\.
일치합니다 : 리터럴 점이 일치com
: COM$
에 대한 문자 일치 : 문자열의 끝. 이 표현식은 문자열이 인 경우 test.com
또는 test1.com
으로 끝나는 경우에만 일치합니다. 그냥 경고의 말씀 : $_SERVER['HTTP_ORIGIN']
하고 $_SERVER
값의 거의 아무도 사실은 신뢰할 수 있습니다. 당신은
. Str_pos 문자열, 링크 URL 내에서 검색합니다 .. 을 문서 여기 link
하는 선발을 위해 약간의 예를
if(strpos($_SERVER['HTTP_ORIGIN'], 'test.com') !== false) {
echo "found it";
}
당신은'test1.com'을 확인하지 않습니다. 당신은 내 대답을 편집하려했습니다 : 질문을 다시 읽으십시오 : OP는 _ "test.com"_ *** 및 *** _ "test1.com"_을 확인하려고합니다. 'test1' 이외에 검사되지 않습니다. _ "com.org"_와 같은 도메인을 소유하고 _ "test"_ 하위 도메인이있는 경우 'HTTP_ORIGIN'이 (가) 'test.com.org'가 아닌지 확인합니다. –
시도 (+ 링크 된 페이지를) 여기에 주제에 대한 자세한 내용을보실 수 있습니다 $ urlcheck = expload ("test.com", $ _ SERVER [ 'HTTP_ORIGIN']); if (isset ($ urlcheck [1])) // 코드가 여기에 오도록 test.com이 있음을 의미합니다. test.com 및 * .test1.com 모두 사용해보십시오 –
PHP는 정규 표현식에 대한 구분 기호가 필요합니다 (http://php.net/manual/en/regexp.reference.delimiters.php). 그 정규식은 오류를 던져야합니다. – chris85