2012-01-03 4 views
-1

PHP가 처리 될 때 {bracketsvalue}가 배열의 내용으로 대체되도록 다음 {bracketsvalue} = $ 배열을 정의 할 수 있습니까?

내가 묻는 이유는 {firstname} {businessname}이 (가)있는 양식인데, 이들은 필드 이름과 상호입니다. 내가하고 싶은 것은 템플릿이 있습니다 : 친애하는 {name} , 어쩌구 저쩌구 어쩌구 저쩌구

하지만 이름은 양식 필드를 밤은, 나는 그것이 동적으로 다음과 같이 생성 할 : FIRSTNAME 필드가 비어

$ namearray = 경우 은 에코 비즈니스 이름 다른 에코 FIRSTNAME 입력란

그리고 나서 {name} = $ namearray 과 같이 {name}을 (를) 삽입하면 if 문 결과를 에코합니다.

+2

당신은 템플릿 봤어 스마티 (Smarty) 또는 콧수염과 같은 도서관? –

+0

나는 똑똑해 보였지만 조금 혼란스러워 보였지만 굳은 목소리가 더 맹독 해 보이기는했지만 –

답변

0

당신은 아주 간단한 템플릿을 구현하기 위해이 같은 것을 사용할 수 :

/** 
* Render a given template 
* 
* @param string $template Template text 
* @param array $data  List of values of placeholder variables (associative) 
*/ 
function render($template, $data) 
{ 
    foreach (array_keys($data) as $holder) { 
     $template = str_replace('{' . strtoupper($holder) . '}', $data[$holder], $template); 
    } 
    return nl2br($template); 
} 

그런 다음 {NAME}이, [ '이름'] $의 값이 데이터를 얻을 것 등

+1

마지막 str_replace (PHP_EOL, ...) 대신'nl2br()'을 사용하십시오. – ThiefMaster

+0

감사합니다. 그 기능에 대해 몰랐다 :) –

관련 문제