[궁금이]님이 남기신 글:
>-----------------------------------------
>답변자가 기본적으로 참고할 내용입니다.
>- 배포판(옵션) :
>- 커널버전(옵션) :
>- 데몬버전(예:apache 1.3.27) :
>- 데몬설치유형(RPM/컴파일/기타) :
>-----------------------------------------
>php의 preg_replace를 이용한 일종의 템플릿을 구현중인데요..
>만약 템플릿화일이 다음처럼 구성되어있다면..
><HTML>
> {OUT}
> .....(다른 코드 삽입)
> {OUT}
></HTML>
>
>이때 {OUT}이란 부분이 바뀌는 부분인데요.. 일괄적으로 전부 바뀌는것이 아니라 하나씩 바뀌고 하고 싶습니다.
>즉 ("1","2") 란 array에서 하나씩 매칭이 되게 하고 싶거든요.
>
>즉 결과물이
><HTML>
> 1
> .....(다른 코드 삽입)
> 2
></HTML>
>
>이런식으로 하려면 어떠한 패턴을 줘야하는지..
>
>부탁합니다.
========================================
구현은 가능하지만
썩 좋은 방법이 아닌것 같습니다.
이유는 OUT 개수만큼 먼가를 처리해 주어야하기 때문이죠.
또한 OUT 이 아니고 OUT 이외의 다른 문자열 변수도 함께 위와
같은 방법으로 처리하고자 한다면 더 복잡한 구조가 될것 같습니다.
일단은 OUT 문자열 교체변수만 놓고 생각한다면,
간단하게 preg_replace_callback() 함수를 이용해서
구현할 수 있습니다.
function out_replace_callback($matches)
{
global $tostr;
static $i = 0;
return str_replace($matches[0],$tostr[$i++],$matches[0]);
}
$ttext = 템플렛_본문내용;
$tostr = array('foo','bar');
$ttext = preg_replace_callback('/{OUT}/','out_replace_callback',$ttext);
echo $ttext;
일단은 어디까지가 기본 구조입니다. |