2009-06-21 91 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. 
}