preg_match 에서 폴더명은 어떻게 처리하죠?

preg_match 에서 폴더명은 어떻게 처리하죠?

QA

preg_match 에서 폴더명은 어떻게 처리하죠?

본문

주소창이
/board/shop/shop.php
/board/shop.php

위의 두개의 파일안에서 인크루드된 파일이 있는데요

shop폴더안에서 처리된 경우만 특정소스를 넣을려고합니다

if (preg_match("/board/shop$/", $_SERVER[PHP_SELF])) {  이런형태로 하려고하니 안되어서요..
어떠헥 해야하는지 도움좀요..

이 질문에 댓글 쓰기 :

답변 3

strpos 사용이 좋겠습니다

질문의 코드는 사용법이 틀렷습니다

preg_match("/board/shop$/", --> preg_match("@board/shop$@",

중간에 슬래시가 있는데 양쪽 끝에 슬래시가 있으니 에러납니다

 


<?php
$array = array(
    '/board/shop/shop.php',
    '/board/shop/shop.php?param1=true&param2=false#hash',
    '/board/shop/shop.php#hash',
    '/board/test/shop.php',
    '/board/shop/test/shop.php',
    '/board/shop.php',
    '/board/shop/shop.test.php',
    '/board/shop.test.php',
    '/shop/shop/test.php'
);
foreach ($array as $f) {
    $f = preg_replace('%[\?\&\#].*%', '', $f); // PHP_SELF
    echo $f.' === ';
    echo preg_match('%^/board/shop/[^/]+\.php$%i', $f);
    echo '<br>';
}
답변을 작성하시기 전에 로그인 해주세요.
전체 123,536 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT