2

可能重复:
如何将 javascript 变量放入 php echo

我对 PHP 有疑问。我想在 JavaScript 中使用 PHP 变量。但是,它不起作用!$doccontent只显示一次!这是Test.php(页面参数给出,例如Test.html):

<!DOCTYPE html>
<html>
    <head>
        <title>Test</title>
        <?php
        $page = $_GET["page"];
        $doc = new DOMDocument();
        $doc->loadHTMLFile($page);
        $doc->formatOutput = true;
        $contentnode = $doc->getElementById('content');
        $doccontent = new DOMDocument();
        $doccontent->appendChild($doccontent->importNode($contentnode, true));
        $doccontent = $doccontent->saveHTML();
        ?>
    </head>
    <body>
        <?php
            echo $doccontent;
        ?>
        <script type="text/javascript">
            document.write("<?php echo $doccontent;?>");
        </script>
    </body>
</html>

这是Test.html

<!DOCTYPE html>
<html>
    <head>
        <title>Hey</title>
        <link rel="stylesheet" type="text/css" href="Edit.css">
    </head>
    <body>
        <button id="admin"><a href="Edit.php?page=Edit.html">Edit</a></button>
        <h1>Automatica</h1>
        <div id="content">
            <h2>Header 1.1</h2>
            <p>Test</p>
            <h3>Header 1.1.1</h3>
            <p>Test</p>
            <h3>Header 1.1.2</h3>
            <p>Test</p>
            <p>Test</p>
            <h4>Header 2.0.0.1</h4>
            <p>Test</p>
        </div>
    </body>
</html>
4

1 回答 1

5

$doccontent几乎可以肯定同时包含"字符和换行符,其中任何一个都会破坏由字符分隔的 JS 字符串文字"

PHPjson_encode函数将给定一个字符串作为输入,输出一个 JS 字符串文字。您可以使用它而不是回显原始数据。(记住不要"在生成的字符串文字周围添加额外的字符)。

于 2012-12-16T14:06:01.393 回答