테스트 사이트 - 개발 중인 베타 버전입니다

레퍼러별 페이지이동.. 소스 뭐가 틀린걸까요 ㅠㅠ 채택완료

김준희321 11년 전 조회 4,240

<?php

 

$site = $_SERVER['HTTP_REFERER'];
if (preg_match("http://a.com/" target=_self>http://a.com/", $site)){
echo "<META http-equiv='refresh' content ='0;url=http://allabout10000.blogspot.kr/2014/07/blog-post.html">http://allabout10000.blogspot.kr/2014/07/blog-post.html'>";
}elseif (preg_match("http://b.com/">http://b.com/", $site)){
echo "<META http-equiv='refresh' content ='0;url=http://allabout10000.blogspot.kr/2014/07/blog-post.html">http://allabout10000.blogspot.kr/2014/07/blog-post.html'>";
 }elseif (preg_match("http://c.com/">http://c.com/", $site)){
echo "<META http-equiv='refresh' content ='0;url=http://dksakdi1.blogspot.kr/">http://dksakdi1.blogspot.kr'>";
 }elseif (preg_match("http://d.com/">http://d.com/", $site)){
echo "<META http-equiv='refresh' content ='0;url=http://gnmacau1.blogspot.kr/2014/07/oiozi5379i5.html">http://gnmacau1.blogspot.kr/2014/07/oiozi5379i5.html'>";
 }​

 

?>

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
11년 전

preg_match("http://a.com/" target="_blank">http://a.com/" target="_blank">http://a.com/", $site) --> preg_match("@http://a.com/" target="_blank">http://a.com/" target="_blank">http://a.com/@", $site);

위와 같이 하면 되지만 php 메뉴얼 함수 설명에 보면 아래와 같이 되어있죠

단순히 하나의 문자열이 다른 문자열에 들어있는지를 확인하고 싶을때는 preg_match()를 사용하지 마십시오.

대신, strpos()나 strstr()를 사용하는 편이 더욱 빠릅니다

 

따라서

if( strpos($site, 'a.com')) echo ~~~ 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

11년 전

preg_match("/http://a.com/" target="_blank">http:\/\/a.com\//", $site)  

"/   /" <= 이렇게 감싸고 특수문자(/)는 \로 처리해주면 됩니다. 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인