2012-02-19 3 views
0

내가 타격 코드가 데이터베이스에 저장 한 실행해야PHP 코드는

<script type="text/javascript" src="$url/js/jquery-ui.min.js"></script> 
<script type="text/javascript" src="$url/js/ui.selectmenu.js"></script> 

나는 데이터베이스에서이 코드를 가져오고 다음 변수에 할당 할 다음 나는 $ URL을 사용하려면 위에서 정의한 내 코드에서. 그래서 여기

은 = '에 http : // localhost를'

$ URL이 파일 example.php foreg의 $ URL에 정의 된 시나리오;

데이터베이스에서 코드 조각 (위의 코드)

변수 foreg의 $ 콘텐츠 =에 할당 가져

및 최종 $ 함량

를 포함해야합니다 (MySQL은 여기에서 코드 가져 오기)
<script type="text/javascript" src="http://localhost/js/jquery-ui.min.js"></script> 
<script type="text/javascript" src="http://localhost/js/ui.selectmenu.js"></script> 

이 코드는 예제 코드 일 뿐이며 완전히 다른 코드가 있지만 시나리오는 동일합니다. 누구든지 도움을받을 수 있습니다.

PS 그리고 내 코드는 URL() 포함 할 수 있습니다 당신은 같은 것을 할 수

+2

무엇을 시도 했습니까? 그것은 문자열을 반복하는 것입니다. 아니면 당신의 제목이 말했듯이, 데이터베이스에 저장된 PHP 코드를 평가하는 것에 대해 이야기하고 있습니까? –

+0

예 실제로 eval() 함수를 사용하여 코드를 평가하려고합니다. 불행히도 eval은 작동하지 않습니다. 전에는 eval을 사용한 적이 한번도 들었습니다. –

+0

eval()을 프로그래밍 방식으로 사용하여 페이지를 작성해야하는 경우 작업 수행 방식에 문제가 있습니다. 다른 방법이 없다고 확신합니까? 템플릿 시스템을 고려 했습니까? (dwoo, twig, smarty) –

답변

2
$content = str_replace('$url', 'http://localhost', $content); 
+0

을 평가하고 있습니다. 예제 코드에서 말한 것처럼 아니오. 내 코드에는 여러 파일에 정의 된 $ url과 같은 많은 변수가 있습니다. 그래서 나는 어떤 종류의 eval() 기능을 사용할 필요가있다. 불행히도 eval이 작동하지 않습니다 –

2

(I 다른 파일에서 생성 된 사용자 정의 함수를.) :

$result = mysql_query("SELECT code FROM MyCodeTable WHERE MyColumn = 'something'"); 

if ($result && mysql_num_rows($result) > 0) { 
    $row = mysql_fetch_object($result); 

    $content = str_replace('$url', $url, $row->code); 
} 

참고 : 이상적으로 당신이 같으면 이처럼 MySQL에서 데이터를 가져 오지 말고 대신 PDO와 같은 다른 방법을 사용하십시오. 또한 그의 예제에서 설명한 Seagull처럼 str_replace을 사용하는 것이 데이터베이스에 저장 한 데이터를 신뢰해서는 안되기 때문에 eval이 아닌 Seagull을 사용하는 것이 더 안전한 방법입니다.

+0

내 코드에 $ url과 같은 45 가지 변수가 포함되어 있다면 어떻게 될까요? –

+0

이 예제에서는 데이터베이스에 마크 업을 저장한다고 가정합니다 (그런데 나쁜 일입니다). 'str_replace'가 배열을 전달할 수있는 경우에도 많은 것들을 바꿔야한다면, 네, 지루한 작업이 될 수 있습니다. 이 경우에는 eval을 사용하는 것이 더 쉬울 것입니다. – Andy0708

+0

위의 내 의견을 읽으십시오. –

관련 문제