当一个PHP脚本已经被另一个(插件)脚本操作时,如何操作它的输出?

当一个PHP脚本已经被另一个(插件)脚本操作时,如何操作它的输出?,php,Php,我想你是糊涂了。我也是,但我会尽我所能地阐述这一点 我使用的内容管理系统安装了一个第三方插件,用于处理CMS生成的页面的输出。这就是它应该做的,这就是我安装它的原因,但是有一小部分操作我需要去掉 该插件在HTML输出中查找标记,然后在其后面添加一个不需要的标记(将替换为) 您可能会想,为什么不深入插件源代码并注释掉特定的函数呢?好吧,这就是关键:插件是用Zend Guard编码的,所以我无法了解它的源代码,不幸的是,开发人员不愿意提供帮助 我自己能够摆脱的另一个操作是它为每个页面设置的额外(也是

我想你是糊涂了。我也是,但我会尽我所能地阐述这一点

我使用的内容管理系统安装了一个第三方插件,用于处理CMS生成的页面的输出。这就是它应该做的,这就是我安装它的原因,但是有一小部分操作我需要去掉

该插件在HTML输出中查找
标记,然后在其后面添加一个不需要的标记(将
替换为

您可能会想,为什么不深入插件源代码并注释掉特定的函数呢?好吧,这就是关键:插件是用Zend Guard编码的,所以我无法了解它的源代码,不幸的是,开发人员不愿意提供帮助

我自己能够摆脱的另一个操作是它为每个页面设置的额外(也是不需要的)HTTP头

Zend编码的PHP文件是由一个普通的PHP文件加载的,在
?>
之前,我可以通过在“加载文件”的最底部添加以下代码位来取消上述头文件的设置:

header_-remove(“X-Enhanced-By”)

它工作得非常出色,但这几乎是我的经验和研究所能提供给我的

那么,我需要撤销的最后一件事就是对title标签的操作。我通过将所有的
标记更改为
,暂时解决了这个问题,但这似乎不是一个合适的解决办法

如果我可以通过放置
header_remove(“X-Enhanced-by”)来取消标题设置
就在
?>
之前,这是否意味着我也可以使用相同的区域来撤消在
之后添加不需要的标记

让我们假设插件在CMS输出的每个页面上用
替换


我将如何撤销该操作?

取决于CMS框架。基本上,您应该能够创建一个钩子/插件,该钩子/插件捕获比您的插件更高级别的输出,然后将标签正则化


我知道安装的插件已经做到了这一点,所以它应该是“可行的”

在发送之前,你能访问每个页面上的原始输出吗(例如,通过挂钩)?。这样,您可以通过regexp替换它。发布一些代码,我们将了解更多。插件似乎是在CMS框架上运行的,而不是在CMS框架内运行的,因此任何试图从CMS文件中正则化标记的尝试都是毫无意义的,因为插件显然是在PHP完成后添加标记的。因此,它们不会添加到PHP级别,但可能是通过Zend引擎添加的,而且由于我无法读取编码文件,因此似乎没有任何选项了。