我现在正在做一些我们不能使用库的练习。我有一个基于 REST 的系统,可以根据需要完成的操作实例化不同的 PHP 类。我有几个 HTML 文件加载到 PHP 中,然后使用 str_replace 切换出要注入(inject)到 HTML 中的变量。
我现在想在我的一个 HTML 文件的末尾添加一个标签。我的 ../../html/body.html 文件如下所示:
<div id="content-wrapper">
<div id="content">
<table>
<!-- $content -->
</table>
</div>
</div>
</div>
<!-- javascript -->
</body>
</html>
我多次使用这个“body”页面,因此“$content”会根据我在 PHP 中替换它们的内容而变化。
现在,由于某种原因,当我尝试用脚本标记替换 javascript 时,它不起作用。这是我尝试执行此操作的 PHP:
$javascript = '<script type="text/javascript" language="javascript" src="../../js/subscriber.js"></script>';
$page = file_get_contents("../../html/body.html");
$head = file_get_contents("../../html/doctype.html");
$nav = file_get_contents("../../html/Navbar.html");
$page = str_replace('<!--javascript -->', $javascript, $page);
$page = str_replace('<!-- $content -->', $theFeed, $page);
$nav = str_replace('<!-- $name -->', $this->user, $nav);
$nav = str_replace('$user', $this->you, $nav);
$nav = str_replace('$key', $this->key, $nav);
$nav = str_replace('$picUrl', $picUrl, $nav);
echo($head);
echo($nav);
echo($page);
我在想,这样我只需要在必要的页面上包含脚本,或者如果页面不需要任何 javascript,则根本不需要包含脚本。 PHP 或 HTML 是否会以某种方式阻止脚本标签?我不知道如何解决这个问题。谢谢!
最佳答案
你少了一个空格。您的标记包含:
<!-- javascript -->
^ space here
但是您的 PHP 代码缺少该空格:
$page = str_replace('<!--javascript -->', $javascript, $page);
将其更改为:
$page = str_replace('<!-- javascript -->', $javascript, $page);
关于php - 是否可以使用 PHP str_replace 将 <script> 标签添加到 HTML 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13707120/