2014-02-07 2 views
0

나는 eval에 약간의 문제가 있습니다. 난 당신이 할 수 값으로 문자열을 대체 할 수 eval() 기능에 생각PHP에서 eval() 함수가 작동하지 않습니다

$postbit = $template->output('posts_list_index'); // output string: $postslist it's ok 

eval('echo $postbit;'); // output string: $postslist (?) 

감사합니다 :)

+0

'eval()'외부의'echo $ postbit;'는 무엇을 만드나요? 나는 왜 여기에'eval()'을 사용하는지 알지 못한다. –

+0

메신저를 사용하여 플러그인 엔진과 템플릿 엔진을 만듭니다. 이것은 echo $ postbit의 결과입니다 : '$ postslist' – hegbl

+0

@ PostPost : "Postbit"이라는 용어는 MyBB 포럼 소프트웨어와 관련이 있다고 생각합니다. (이 용어는 해당 용어를 사용하여 게시물을 둘러싼 위젯을 나타냅니다. "답장"버튼). 기억 하듯이, 템플릿 엔진은 이와 같이 작동합니다. – duskwuff

답변

0

:

여기 내 코드입니다. http://in3.php.net/eval을 참조하십시오.

와의에 대한 해결책은 다음과 같습니다

eval("$postbit = ".$template->output('posts_list_index'."); "); 

echo $postbit ; 

이 하나를 시도 ... 나는 그것에 대해 확실하지 않다.

0

평가는 당신이 당신의 $ 탈출해야합니다 :

평가를 ('에코 \ $ postbit;');

+0

코드 블록을 수정하십시오. –

0

Javadewd's Answer이 정확합니다. 나는 작은 따옴표 대신 큰 따옴표를 사용하는 것을 선호한다. 작은 따옴표로 둘러싸인 문자열에서 발생할 때 PHP Manual 상태

인용 더블과 히어 닥 문법, 변수는 달리

및 특수 문자 이스케이프 시퀀스는 확장되지 않습니다.

관련 문제