2009-06-21 93 views
0

我正在開發自己的CMS和我想要實現的功能,動態包括位於服務器上現有的PHP腳本。動態,包括PHP腳本

有包含頁面內容包括HTML和JS代碼,還含有由正則表達式識別一些文本,識別的文本然後被處理並具有所需動態創建的數據替換的變量稱爲$ PAGE_CONTENT。我也想通過使用正則表達式機制觸發包括新腳本,但這是一個問題,因爲正則表達式識別是通過函數解決的,似乎如果我在函數內包含腳本的「include」或「require」被函數變量範圍,所以我不能得到我需要的行爲。

我應該做些什麼,使事情的工作,因爲我想,我的意思是,我可以做更大的利用這些動態包含的腳本。

在此先感謝 MTH

+0

你能給的你想達到什麼樣的一個代碼示例? – 2009-06-21 11:35:09

+0

這將是相當困難。換句話說,事情是我得到了一個或多個變量,如$ page_content,讓我們說「文章」的內容,同時我包括我的代碼其他腳本手工所有作品,因爲我希望它的工作。當我從incsidee功能包括停止owrking。我想通了,是因爲可變範圍,功能casued限制所以現在我正在尋找的方式來應對這一問題becasue synamically包括腳本將是有用的,我 – MoreThanChaos 2009-06-21 12:25:44

回答

1

它聽起來像你正在做的危險的事情。您是否考慮過HTML/JS(由您的CMS的用戶插入,我假設)包含與您的正則表達式匹配的字符串的情況?

至於範圍問題:函數compact()可以將當前範圍變量打包到數組中,並且extract()可以再次設置它們。但使用這些功能時要非常非常謹慎。您可能會意外覆蓋您實際需要的其他變量。

function test($vars) { 
    extract($vars); 
    # The array might have contained the key 'vars', in which case 
    # your function argument is now overwritten. 
}