否,无法从其他文件中更改HTML代码,除非您具有某种中间件,该中间件会将代码以纯文本形式检索,编辑(例如,使用Regex)并将其传递给实际视图,这听起来像是MVC模式。如果那是MediaWiki的工作方式(我非常怀疑),那么这就是您的方式。
为什么不起作用?这是因为PHP是一种后端语言。它无法与前端交互,因为PHP脚本/文件(包含HTML)将在服务器(=后端)上执行,然后传递到浏览器。
像这样想象(非常非常简化):
your_file.php
这是执行脚本之前服务器上文件的状态:
<div>
<?php
echo "<a>test</a>;
?>
</div>
然后在服务器上执行脚本,结果是:
<div>
<a>test</a>
</div>
您的文件甚至还没有发送到浏览器,但是现在可以了。不幸的是,您的文件已经执行,您将无法执行任何PHP函数。不,您不能在服务器上使用CSS和JS。
由于您可能无法实现顶部所述的模式,因此有最后的希望。我不熟悉MediaWiki,但我想我听说他们在实际的PHP文件中生成页面。如果是这种情况,请执行以下操作:
<div>
Yey,some nice features I want to keep!
</div>
<?php
/*
<div>
Oh no! A feature I should hide!
</div>
?>
<div>
Yey,some nice features I want to keep!
</div>
只需将其注释掉;)。如果那还是行不通的,那么...那么,那就是您想要的方法没有解决办法,更不用说简单了。
,
您不能通过PHP来做到这一点,但是如果您具有服务器访问权限,则仅出于艺术目的,可以尝试一些高风险方法。
免责声明:这些不是实用的解决方案,除非您知道自己在做什么并且没有其他可能的方法,否则请不要使用它们。
因此,假设您只能编辑服务器配置和LocalSetings.php,则可以:
- 使用重写规则将所有请求定向到您的LocalSettings.php文件,从而有效地更改CMS的入口点。然后,您可以使用ob_get_clean()捕获输出并根据需要对其进行修改。
- 使用nginx,使用sub_filter过滤HTML,然后将其发送到浏览器。
由于您不想弄乱CMS源代码,因此我假设您想更少地更改服务器配置。但是我仍然保留我的回答,以防将来对其他人有所帮助。
本文链接:https://www.f2er.com/3048478.html