본문 바로가기
Dev/php

php 문자열 자르기 함수 substr 로 현재 페이지의 주소로 switch문 분기 구조 예제.

by 하양동백 2020. 3. 7.

목차

    사실 이 예제는 오늘(2015.06.24 16:34) 프리랜서 알바로 워드프레스 홈페이지 구축 프로젝트에서 네이버웹마스터 도구에 워드프레스의 멀티사이트별로 분기를 확인시키기 위해서 작성하던 프로그램의 일부다.

    결론부터 말하자면, 네이버웹마스터도구가 일반 도메인들에 대해서는 서브도메인이 아닌 디렉토리 구조 이하는 별도 사이트로 인식하지 않기 때문에 워드프레스로 멀티사이트를 구축하더라도 1개의 사이트로 인식된다는 것만을 확인했다.

    그래도 혹시 훗날 쓸 일이 있을까 싶기도 하고, 이런 류의 조건 분기 예제가 필요한 분들을 위해서 작성해둔다.

    php substr 문자열 자르기 함수로 현재페이지의 주소를 확인해서 php switch문으로 분기시키는 예제.

    <head>
    
    <?php
    
    	$thisUrl = $_SERVER['REQUEST_URI'] ;
    
    	$sstr = substr($thisUrl,11,3);
    
    	switch ($sstr) {
    
    		case "php":
    
    			echo '<meta name="tnaver-site-verification" content="ebt9acf84dac1a39e228cff377f8a89bcfab251f7"/>';
    
    			break;
    
    		case "jsp":
    
    			echo '<meta name="tnaver-site-verification" content="ebt9acf84dac1a39e228cff377f8a89bcfab251f7"/>';
    
    			break;
    
    	}
    
    ?>
    
    
    
    <script>
    
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    
    <?php
    
    	switch ($sstr) {
    
    		case "php":
    
    			echo "ga('create', 'tUA-6445x6327-1', 'auto');";
    
    			break;
    
    		case "jsp":
    
    			echo "ga('create', 'tUA-6445x6327-2', 'auto');";
    
    			break;
    
    	}
    
    ?>
    
      ga('send', 'pageview');
    
    
    
    </script>
    
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>php switch and $_SERVER 분기 테스트</title>
    
    </head>

    이 프로그램에 사용된 주요 php 함수에 대한 설명.

    php 문자열자르기의 대표적인 함수 php substr();

    php에서 substr함수는 다음과 같이 사용된다.

    $sstr = substr($thisStr,11,3);

    $thisStr이라는 문자열함수가 문자열을 갖고 있다면, 11번째에서부터 3개의 문자를 취하라는 뜻이 된다.

    두번째 인수가 음수로 되어 있다면 문자열의 끝에서부터라는 뜻이 되고 세번째 인수가 없으면 문자열의 끝까지 모두를 뜻하게 된다.

    예컨데

    $posstr=substr("koreansexygirl",-3)

    과 같이 썼다면 $posstr에는 "irl"이 들어가 있다.

    세번째 인수가 쓰인다면 글자의 갯수를 제한할 수 있다.

    $posstr=substr("koreansexygirl",-3,2)

    에서는 $posstr="ir"이 된다.

    php switch문 구조

    php도 프로그래밍 언어이기 때문에 switch 구문을 가지고 있다. 

    이런 스위치 구문은 반복적인 조건문을 처리하는데 유용하다.

    case는 숫자가 올때는 따옴표를 쓰지 않으며, 문자열이 비교값으로 올때는 따옴표로 감싸주면 된다.

    그리고 어떤 조건에도 부합되지 않을 때 예외처리를 위한 default case문도 있으니, 써 주는 것이 좋다.

    <?php
    
    switch ($swVal) {
    
    case 0:
    
        echo "swVal = 0";
    
        break;
    
    case 1:
    
        echo "swVal = 1";
    
        break;
    
    case 2:
    
        echo "swVal = 2";
    
        break;
    
    default:
    
        echo "swVal !=  to 0, 1 or 2";
    
    }
    
    ?>

    php는 스위치문의 대체문법도 존재하는데 다음과 같다.

    딱히 대체문법으로 적용할 일은 별로 없지만, 아래와 같이 작성되어도 동일하게 동작하기 때문에 다른 사람의 소스를 읽을 때는 알고 있는게 좋다.

    <?php
    
    switch ($swVal):
    
    case 0:
    
        echo "swVal = 0";
    
        break;
    
    case 1:
    
        echo "swVal = 1";
    
        break;
    
    case 2:
    
        echo "swVal = 2";
    
        break;
    
    default:
    
        echo "swVal !=  to 0, 1 or 2";
    
    endswitch;
    
    ?>

    위의 php 문법을 활용한 예제 페이지는 여기를 클릭

    참고:  http://php.net/manual/kr/function.substr.php http://php.net/manual/kr/control-structures.switch.php

    짤방 빨간 원피스 ㅊㅈ의 각선미

     

    반응형

    댓글