PHP:代码变成HTML <! - 评论? - >

Sna*_*man 4 html javascript php

当我输入这样的代码时:

<p>Hello <? echo $name; ?>, How are you?</p>
Run Code Online (Sandbox Code Playgroud)

它打印:

<p>Hello <!--? echo $name; ?-->, How are you?</p>
Run Code Online (Sandbox Code Playgroud)

作为评论.我把它放在一个名为base.js的文件中,代码如下:

function showName() {
   document.getElementById("name").innerHTML = "<p>Hello <? echo $name; ?>, How are you?</p>";
}
Run Code Online (Sandbox Code Playgroud)

所以我像这样嵌入.js文件:

<script type="text/javascript" src="base.js"></script>
Run Code Online (Sandbox Code Playgroud)

所以,在它改变后<p id="name"></p>我得到:

<p id="name">Hello <!--? echo $name; ?-->, How are you?</p>
Run Code Online (Sandbox Code Playgroud)

我在.php文件中有代码,它似乎工作正常.现在我将它放在一个单独的base.js文件中,它就不再起作用了.救命!

mpl*_*jan 6

那是因为它不再是php.

改成

<script type="text/javascript" src="base.php"></script>

and have a 
<?php header("content-type:text/javascript"); 
$name = "...";
?>

function showName() {
   document.getElementById("name").innerHTML = "<p>Hello <?php echo $name; ?>, How are you?</p>";
}
Run Code Online (Sandbox Code Playgroud)

要么

改成

function showName(name) {
   document.getElementById("name").innerHTML = "<p>Hello "+name+", How are you?</p>";
}
Run Code Online (Sandbox Code Playgroud)

并在PHP文件中

<script>
// using json_encode to make the string safe for script injection. 
// Still needs quotes for a single string
showName("<?php echo json_encode($name); ?>");
</script>
Run Code Online (Sandbox Code Playgroud)

  • 没有评论的贬低是SO的最无意义的行动 (2认同)