尝试嵌入使用 的第 3 方 Javascript,我怎样才能阻止 php 解析“”
我正在一个疯狂混乱的 CMS 系统中工作,其中 php、javascript 和 html 都在模板内。我试图从第三方站点插入代码以实现集成功能,但它们具有以下形式的 JavaScript:
<script type="lib">
Hello, <?js= firstName ?>!
</script>
PHP 解释器看到并执行其操作,因此整个模板都会出错。
有人知道如何包装这个代码块以防止 PHP 解释器关心它吗?
提前致谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果禁用 PHP 短标签不是一个选项,您可以简单地使用 PHP 输出所述字符串,这样您会得到如下所示的结果:
If disabling PHP Short-tags isn't an option, you could simply output said string using PHP, so you'd get something like this:
禁用 PHP 短标签,您不应该有问题。
Disable PHP Short-Tags and you should not have an issue.
在启用了 短开放标记 的 PHP 文档中,PHP 解释器将看到
标记的
部分,并尝试将其解析为 PHP,从而导致以下错误:
To解决问题,禁用短格式 (
) PHP 的开放标记。
现在,这将禁止在 PHP 脚本中使用
和
。如果您的网站仅使用
标签,那么这样做是安全的;如果它也使用
那么这样做是不安全的,因为您的脚本将不再按预期运行。
您的虚拟主机或系统管理员可以通过两种方式获得 将 Apache 配置为使用 PHP:
下面您将使用哪种解决方案取决于 Apache 如何在您的系统中运行 PHP环境*。
在 Apache 的 .htaccess 文件中,放置以下内容:
在全局或本地 php.ini 文件中,放置以下内容:
无论哪种情况,您都需要重新启动 Apache进行任何配置更改后,以确保您的新设置得到应用。
注意:如果您的服务器配置为将 PHP 作为 Apache 模块运行,那么您可以选择使用
php.ini
或 Apache.htaccess
文件。但是,如果您的服务器将 PHP 作为 CGI 包装器运行,那么您只能选择在本地使用php.ini
文件来更改设置,因为 Apache 不再完全控制 PHP。当 PHP 作为 CGI 包装器运行时,将 PHP 设置放入
.htaccess
文件中将导致服务器抛出错误。In a PHP document with short open tags enabled, the PHP interpreter will see the
<?
part of the<?js
tag and will try to parse it as PHP, resulting in this error:To fix the problem, disable the short form (
<? ?>
) of PHP's open tag.This will now disable the use of
<?
and<?=
in your PHP scripts. If your site only uses<?php
tags then this is safe to do; if it uses<?
as well then it is not safe to do as your scripts will no longer function as expected.There are two ways your Web Host or System Administration will have configured Apache to use PHP:
Which solution you will use below will depend on how Apache is running PHP in your environment*.
In Apache's
.htaccess
file, place the following:In the global or a local
php.ini
file, place the following:In either case, you'll want to restart Apache after making any configuration changes to ensure your new settings get picked up.
Note: If your server is configured to run PHP as an Apache module, then you will have the choice of using either a
php.ini
or Apache.htaccess
files. However, if your server runs PHP as a CGI wrapper then you will only have the choice of usingphp.ini
files locally to change settings, as Apache is no longer in complete control of PHP.When PHP is running as a CGI wrapper, putting PHP settings in to an
.htaccess
file will cause the server throw an error.你碰巧正在运行 apache 吗?这些文件与 PHP 分开存在吗?如果是这样,您可以使用 .htaccess 文件(或 httpd.conf,如果您有权修改它)来执行以下操作:
Do you happen to be running apache? Do these files live separate from the PHP? If so, you could use an .htaccess file (or httpd.conf if you have the rights to modify it) to do something like this: