是否可以使用PHP str_replace?</script>将<script>标记添加到HTML中

时间:2012-12-04 16:13:16

标签: php javascript html rest str-replace

我正在练习我正在努力工作,我们不能使用库。我有一个基于REST的系统,它根据需要做什么来实例化不同的PHP类。我有几个HTML文件加载到PHP然后使用str_replace我切换出我想要注入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);

我在想这种方式我只需要在necesarry页面上包含脚本,或者如果页面不需要任何javascript则根本不需要。 PHP或HTML会以某种方式阻止脚本标记吗?我不知道怎么解决这个问题。谢谢!

2 个答案:

答案 0 :(得分:2)

你错过了一个空间。您的标记包含:

<!-- javascript -->
    ^ space here

但是你的PHP代码缺少这个空格:

$page   = str_replace('<!--javascript -->', $javascript, $page);

将其更改为:

$page   = str_replace('<!-- javascript -->', $javascript, $page);

答案 1 :(得分:0)

我认为你的问题是在PHP之后你没有空间