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

특정 url이 내부주소인지 외부주소인지 알수있는 방법이 있을까요? 채택완료

인터넷방송국 2년 전 조회 1,881

링크주소를 입력받아서 이게 제 사이트 내부의 주소(게시글이나 특정 페이지)이면

a태그의 target을 _self로 외부라면 _blank로 만들려고합니다.

구분하려면 어떻게 해야 하는지 도움 부탁드립니다

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

답변 2개

채택된 답변
+20 포인트
세크티
2년 전

</p>

<pre>
function is_external_url($url){

    return stripos(preg_replace('/^https?:\/\//i', '', $url), $_SERVER['HTTP_HOST']) ===false ;
}</pre>

<p>echo is_external_url($url); // 외부주소면 true</p>

<p>

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

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

</p>

<p>function url_check($url) {

    if (strpos($url, $_SERVER['SERVER_NAME']) === false) {

        $target = '_blank';

    } else {

        $target = '_self';

    }

    return $target;

}</p>

<p>


<a href="<?php echo $url;?>" target="<?php echo url_check($url);?>"><?php echo $url;?></a>

이렇게 하면 됩니다.

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

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

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

로그인