2011-10-05 5 views
0

PHP 코드를 구문 분석하여 브라우저에서 읽은 것처럼 순수 텍스트로 결과를 반환하는 함수를 만들려고합니다. 마찬가지로이 하나PHP에서 텍스트 함수

이제 echo $text
$data = array('email' => '[email protected]'); 
$string = "<?= " . '$data' . "['email']" . "?>"; 

$text = $this->PHPToText($data, $string); 

가 제공해야합니다 : [email protected]

난 당신이 아래에 볼 수있는 PARAMS으로,이 같은 함수를 호출 할

public function PHPToText($data, $php_text) { 
    //TODO code 
    return $text; 
} 

이 아이디어를 달성 할 수있는 아이디어 나 기능은 무엇입니까?

감사합니다. 평가는 악이 경우에

+1

나는 함수가 무엇을해야하는지 이해하는 데 어려움을 겪고있다. – amosrivera

+0

나는 그것을 사용하는 것을 두려워하지 않지만, eval()의 나쁜 점을 기억하기위한 모든 답을 표결했다. 당신이 평가하고있는 것을 조심하십시오. 물론 사용자 입력을 직접 평가하지 말고 사용하십시오. 모든 PHP 함수는 거기에 있어야 할 이유가 있습니다. –

+0

PHP 코드는 브라우저에서 읽을 수 없으며 서버는 모든 것을 처리합니다. – Zirak

답변

4

변수 :

function PHPToText($data, $string) { 
    ob_start(); 
    eval($string); 
    return ob_get_clean(); 
} 

당신은 정말 재고해야 이런 종류의 디자인. 동적으로 생성 된 코드를 실행하는 것은 본질적으로 좋은 아이디어는 아닙니다.

+0

덕분에 다른 디자인을 고려했습니다. – luqita

4

은()가

그러나 항상 기억 평가와 수행해야합니다!

2

당신은 내부의 태그를 분석하기 위해 eval() 기능 http://www.php.net/eval를 사용해야합니다 당신이 나쁜 나쁜 나쁜 나쁜 나쁜 생각이지만, 기본적으로 $string

관련 문제