레퍼러별 페이지이동.. 소스 뭐가 틀린걸까요 ㅠㅠ 채택완료
<?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개
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 ~~~
댓글을 작성하려면 로그인이 필요합니다.
preg_match("/http://a.com/" target="_blank">http:\/\/a.com\//", $site)
"/ /" <= 이렇게 감싸고 특수문자(/)는 \로 처리해주면 됩니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인