php에서 도메인 맨끝 뒤에 / 를 가져오는 방법
본문
php에서 도메인 맨끝 뒤에 / 를 가져오는 방법이
<?php
$langSet = 'ko_KR'; //기본 처리
if($url_last_parser == 'en_US'){ //도메인 뒤에 /en_US이 붙엇을떄 처리방법
$langSet = 'en_US';
}
?>
에서
if($url_last_parser == 'en_US')
이게 맞을까요? 혹시 다른 방법도있을까요?
답변 2
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'];