我有一個模板頁面,它是HTML和PHP的組合。我想輸出整個內容到另一個頁面,但我想在輸出之前先動態修改內容,包括代碼。將網頁讀取到一個字符串中,修改它,然後輸出它
如果我理解正確eval()
需要去掉PHP字和開頭<?
。
到目前爲止,我有以下幾點:
$str = file_get_contents($template);
[Create an array of changes to make]
$str = str_replace($changes,"",$str);
$changes2 = array();
$changes2[0] = '?php';
$str = str_replace($changes2,"?",$str);
$str = substr($str,3);
eval("\$str = \"$str\";");
echo $str;
我原本只是在iframe
打開的內容,但正如我所說,我需要先輸出前編輯文件中的代碼(和不修改原始模板代碼)。
我能想到的唯一方法是將模板讀入字符串,改變我需要的內容,將該字符串的內容寫入臨時文件,然後讀入臨時文件。
但是感覺這就是做這件事的冗長方法。
有沒有人知道這樣做的正確方法?
爲了上帝的愛,不要使用'eval()'。如果'eval()'是答案,你問了一個錯誤的問題! ;) – BenM
這很好。我不介意不使用它,我只是不知道除了創建臨時文件之外的其他方法。 – jimbeeer
你需要做什麼改變?如果只是DOM操作,可以使用jQuery來完成嗎? – BenM