그누보드 함수 질문입니다.
본문
function get_skin_path($dir, $skin)
$cf_theme = trim($config['cf_theme']);
global $config;
if(preg_match('#^theme/(.+)$#', $skin, $match)) { // 테마에 포함된 스킨이라면
$theme_path = '';
$cf_theme = trim($config['cf_theme']);
--------------------------------------------------------------------------
common.php 파일 안에 있는 get_skin_path() 중에 빨간색 정규식 표현에 대한 질문입니다.
^theme/(.+)
위에 있는 부분의 앞뒤로 있는 # 은 무슨 뜻인가요?
정규식 표현에 관한 내용을 아무리 찾아봐도 모르겠습니다.
또한 preg_match() 함수에 관해 찾아보니
int preg_match ( string $pattern
, string $subject
[, array &$matches
[, int $flags
[, int $offset
]]] ) 이렇게 정의 되어 있던데
세번째 인자 $matches 로 되어 있는데 위처럼 $match로 바꿔서 써도 상관 없나요?
답변 2
질문하신 내용 중에
# 은 정규표현식의 패턴의 범위를 지정하는 구획문자입니다.
구획문자는 # 이외에도 /, |, : 등 다양하게 사용할 수 있습니다.
그리고 $match 는 패턴에 일치하는 내용이 저장되는 변수이므로
꼭 $matches 만 써야 되는 것은 아닙니다.
말 그대로 변수이므로 $match, 또는 $m, 또는 $a 와 같이
사용자가 임의로 정하여 사용할 수 있습니다.
아래 링크를 참고하시면 정규표현식의 개념을 이해하는 데 도움이 될겁니다.
https://www.xpressengine.com/tip/19374887