정규 표현식

iSDev의 이미지

PHP 에서 정규 표현식을 사용하는데에 Xpress Engine 에서 레이아웃 템플릿 문법처럼 {$abcd} 형식의 문자열 중에서 $abcd 만 추출하려 합니다. 우선적으로 abcd 만 추출하여 $를 붙이려는 방식을 이용하려 하는데 계속해서 오류가 발생하기도 하고 맞지 않는 경우가 생기네요.

<?php
$Context = '{$asdf} {$rr123} asdf';
echo preg_replace('/\{([a-zA-Z0-9_-]*)/', "\$$1", $Context);
?>
cleansugar의 이미지

XE 템플릿 익히려면 몇달 걸리나요?

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

iSDev의 이미지

오래 걸리지는 않고 템플릿 문법이 간단해서 금방 익힐 수 있어요.

raymundo의 이미지

php 는 잘 모르지만 저 코드를 저장하고 브라우저로 보니까

$$asdf} $$rr123} asdf

라고, 제대로 나오고 있는데요...?

원하는 결과를 적어주시는 게 낫겠습니다.

좋은 하루 되세요!

iSDev의 이미지

원하는 결과는... 음..

{$asdf} {$asdf123} 을 변환시켰을 때 $asdf $asdf1234 로 출력시키고 싶습니다.

raymundo의 이미지

아, asdf 만 뽑아낸 후 $를 나중에 붙이겠다는 말씀의 의미를 이제 알겠네요, 그럼 다음처럼 하면 되는 것 같네요.

<?php
$Context = '{$asdf} {$rr123} asdf';
echo preg_replace('/{\$([a-zA-Z0-9_-]*)}/', "\$$1", $Context);
?>

좋은 하루 되세요!

iSDev의 이미지

감사합니다.