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 に答える