我製作了一個模板引擎,它使用file_get_contents()
來獲取頁面的內容,然後用它的值替換它找到的任何鍵。file_get_contents不執行
這不是一個問題,但什麼是一個問題是,它使頁面新的輸出,所以它是這樣的
$output = str_replace($key, $replace, $output); return $output;
唯一的問題是,在新的輸出,PHP代碼顯示在源代碼中,但未運行。有沒有什麼辦法解決這一問題?
我製作了一個模板引擎,它使用file_get_contents()
來獲取頁面的內容,然後用它的值替換它找到的任何鍵。file_get_contents不執行
這不是一個問題,但什麼是一個問題是,它使頁面新的輸出,所以它是這樣的
$output = str_replace($key, $replace, $output); return $output;
唯一的問題是,在新的輸出,PHP代碼顯示在源代碼中,但未運行。有沒有什麼辦法解決這一問題?
一旦你使用你的代碼file_get_contents()
$code = file_get_contents("page.php");
你做,你需要在變量$code
這是一個字符串,那麼如果代碼以你這樣做
eval($code);
做的工作html代碼,它有一些php代碼裏面,試試這個
eval(" ?> " . $code . " <?php ");
我必須告訴你,這不是一個好的解決方案,eval是在php上使用最危險的函數。
感謝您使用eval後,我得到這個錯誤「解析錯誤:語法錯誤,意外'<'在C:\ xampp \ htdocs \ hk \ cores \ core.template_engine.php(62):eval()'d代碼在第1行「 – user3867184
這意味着你作爲'eval'函數參數傳遞的代碼是不正確的 – Khalid
我不是說在這裏聽起來像一個完整的'noob',但我不確定如何做到這一點,我從來沒有使用eval,所以我不知道如何使用它,我真的從來沒有找到一個用戶。 – user3867184
您可以使用PHP eval功能來運行一個字符串作爲PHP代碼
$output = str_replace($key, $replace, $output); return $output;
eval($output);
嘗試使用[EVAL(http://php.net/manual/en/function.eval.php) –
我KNW這不是答案,但是,如果你試圖做一個模板引擎...使用像https://github.com/bobthecow/mustache.php模板引擎:) –
我試圖讓我自己,因爲它是一個對我來說有輕微的挑戰,但模板引擎部分不是我猜測的全部問題。 – user3867184