특정 url이 내부주소인지 외부주소인지 알수있는 방법이 있을까요?
본문
링크주소를 입력받아서 이게 제 사이트 내부의 주소(게시글이나 특정 페이지)이면
a태그의 target을 _self로 외부라면 _blank로 만들려고합니다.
구분하려면 어떻게 해야 하는지 도움 부탁드립니다
답변 2
function is_external_url($url){
return stripos(preg_replace('/^https?:\/\//i', '', $url), $_SERVER['HTTP_HOST']) ===false ;
}
echo is_external_url($url); // 외부주소면 true
function url_check($url) {
if (strpos($url, $_SERVER['SERVER_NAME']) === false) {
$target = '_blank';
} else {
$target = '_self';
}
return $target;
}
<a href="<?php echo $url;?>" target="<?php echo url_check($url);?>"><?php echo $url;?></a>
이렇게 하면 됩니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.