채택완료

php에서 도메인 맨끝 뒤에 / 를 가져오는 방법

2018-10-25 (목) 09:09:35 3,290

php에서 도메인 맨끝 뒤에 / 를 가져오는 방법이

<?php
    $langSet = 'ko_KR'; //기본 처리 
    if($url_last_parser == 'en_US'){ //도메인 뒤에 /en_US이 붙엇을떄 처리방법
        $langSet = 'en_US'; 
    }
?>

에서

if($url_last_parser == 'en_US')

이게 맞을까요? 혹시 다른 방법도있을까요?

|

답변 2개 / 댓글 1개

채택된 답변
+20 포인트

en_US 폴더 내에 common.php에서

$langSet 설정하시고 en_US 폴더 내에 있는 파일들은 이 common.php를 호출하면 됩니다.

전체소스가 아닌 부분소스를 보이는데

이렇게 해서는 $url_last_parser이 어떤 처리를 거친 변수인지 알 수 없습니다.

물론 도메인에서 슬래시(/) 다음값을 얻는 함수의 리턴값을 할당 받은 변수겠지만요.

이 변수는 먼저 처리하는 함수가 정의되어야할거고 리턴 받은 값을 저장할 수 있는

처리가 필요합니다.

현재 위 소스만으로는 당근 안되겠죠.

슬래시(/) 값을 얻는 방법에는 많은 방법이 있을 수 있습니다.

몇가지만 알려드리자면

1. strrchr() 함수 이용.

   예) $u = "https://www.example.com/en_US";

       echo strrchr($u , "/");

2. pathinfo() 함수 이용.

  예) echo pathinfo($u, PATHINFO_BASENAME);

3. 정규표현식 이용.

   예) $p = "#https?.+\/(?P<path>[^\/]+)\/?$#isU";
        preg_match($p, $u, $match);
        echo $match['path'];

4. parse_url() 함수 이용.

   예) $p = parse_url($u);
        echo $p['path'];

답변에 대한 댓글 1개

2018-10-25 (목) 17:50:33
저코드가 전체 코드였습니다, ㅜㅜ

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