在服务器请求时向html文件发送PHP头?

在服务器请求时向html文件发送PHP头?,php,javascript,jquery,html,css,Php,Javascript,Jquery,Html,Css,为了遵循新的cookie法规,我们需要在客户端网站上添加一个JS插件。然而,有一个是很难做到的:纯HTML有大量的页面 是否有可能以任何方式、形状或形式说: server request { send a php file to inject into a html file sent from the server } 或者类似的东西?您将无法将php注入纯html。然而,你可以用另一种方式来做。。。编写一个php脚本,围绕html进行包装并修改。。。返回您想要的html…您将无法将

为了遵循新的cookie法规,我们需要在客户端网站上添加一个JS插件。然而,有一个是很难做到的:纯HTML有大量的页面

是否有可能以任何方式、形状或形式说:

server request {
    send a php file to inject into a html file sent from the server
}

或者类似的东西?

您将无法将php注入纯html。然而,你可以用另一种方式来做。。。编写一个php脚本,围绕html进行包装并修改。。。返回您想要的html…

您将无法将php注入纯html。然而,你可以用另一种方式来做。。。编写一个php脚本,围绕html进行包装并修改。。。返回您想要的html…

您还可以在jquery插件运行的地方使用js和包装器php文件,只需从文件中提取html页面并将其反馈给正文:

$(body.empty().html(来自静态html文件的body html)


不管你打算怎么做,它都会很糟糕

您也可以在jquery插件运行的地方使用js和包装器php文件,只需从文件中提取html页面并将其反馈给正文:

$(body.empty().html(来自静态html文件的body html)


不管你打算怎么做,它都会很糟糕

我认为在不修改HTML文件的情况下将自定义代码注入HTML文件的最简单方法是添加额外的处理层。它会稍微(可能不明显)降低每个请求的速度,但您的工作量肯定会减少

假设您使用的是Apache,创建一个
.htaccess
文件,其重写规则与以下类似(未测试)

这将导致对html文件的每个请求都被传递到
injector.php

在这个文件中,您可以看到最初使用
$\u服务器['REQUEST\u URI']
请求的页面。使用从磁盘获取此文件,并使用内置方法定位要注入的区域(如果要将
放入
中,您可能只需要)。注入您的代码,并吐出修改过的文档

仅供参考,法律完全允许使用操作所需的cookie,这包括PHP会话ID等内容,以及存储与cookie使用相关的任何首选项的cookie。我重复一遍,可以使用cookie来存储用户不想使用cookie的偏好


在您的
injector.php
中,您可以检测到此类首选cookie的存在,并基于此决定如果您愿意,不插入您的javascript。

我认为在不修改HTML文件的情况下将自定义代码插入HTML文件的最简单方法是添加额外的处理层。它会稍微(可能不明显)降低每个请求的速度,但您的工作量肯定会减少

假设您使用的是Apache,创建一个
.htaccess
文件,其重写规则与以下类似(未测试)

这将导致对html文件的每个请求都被传递到
injector.php

在这个文件中,您可以看到最初使用
$\u服务器['REQUEST\u URI']
请求的页面。使用从磁盘获取此文件,并使用内置方法定位要注入的区域(如果要将
放入
中,您可能只需要)。注入您的代码,并吐出修改过的文档

仅供参考,法律完全允许使用操作所需的cookie,这包括PHP会话ID等内容,以及存储与cookie使用相关的任何首选项的cookie。我重复一遍,可以使用cookie来存储用户不想使用cookie的偏好


injector.php
中,您可以检测到此类首选cookie的存在,并基于此决定如果您愿意,不注入您的javascript。

您可以使用auto_prepend_文件和auto_append_文件php ini指令,但必须将php设置为解析.html文件才能处理.html文件。通过输出缓冲,您可以捕获内容,然后修改html。使用auto_prepend_file php ini指令,引用调用函数ob_start()的.php文件;开始捕捉输出。简单地说:

<?php ob_start(); ?>

然后您可以使用auto_append_file php ini指令引用一个文件来修改输出。要获得输出,可以使用ob_get_contents();像这样:

<?php $output = ob_get_contents(); ?>

使用php中的一些字符串函数,您可以随意修改存储在$output中的html。然后,当您准备发送$output时,在附加的同一文件中使用以下命令:

<?php ob_end_clean(); echo $output; ?>

您可以使用auto_prepend_文件和auto_append_文件php ini指令,但必须将php设置为parse.html文件,才能处理.html文件。通过输出缓冲,您可以捕获内容,然后修改html。使用auto_prepend_file php ini指令,引用调用函数ob_start()的.php文件;开始捕捉输出。简单地说:

<?php ob_start(); ?>

然后您可以使用auto_append_file php ini指令引用一个文件来修改输出。要获得输出,可以使用ob_get_contents();像这样:

<?php $output = ob_get_contents(); ?>

使用php中的一些字符串函数,您可以随意修改存储在$output中的html。然后,当您准备发送$output时,在附加的同一文件中使用以下命令:

<?php ob_end_clean(); echo $output; ?>

我的建议:使用
.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^([^.]+).html$ /index.php?file=$1 [QSA,L]
</IfModule>

我的建议:使用
.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^([^.]+).html$ /index.php?file=$1 [QSA,L]
</IfModule>

我猜你的翻译应用程序工作不正常。我喜欢“神奇的”曲奇法则tptb。”——)不管是什么…@mahatmanich阅读tptb=“权力即政府”@zomboble,请以一种正式的、不健谈的方式写问题-问题和答案形成一个维基,我们希望它尽可能具有可读性。所以我假设你正在寻找答案