[英]PHP: Code gets turned into HTML <!— Comments? -->
当我输入这样的代码时:
<p>Hello <? echo $name; ?>, How are you?</p>
它打印:
<p>Hello <!--? echo $name; ?-->, How are you?</p>
作为评论。 我把它放在一个名为base.js的文件中,代码如下:
function showName() {
document.getElementById("name").innerHTML = "<p>Hello <? echo $name; ?>, How are you?</p>";
}
所以我像这样嵌入.js文件:
<script type="text/javascript" src="base.js"></script>
所以,在它改变<p id="name"></p>
我得到:
<p id="name">Hello <!--? echo $name; ?-->, How are you?</p>
我在.php文件中有代码,它似乎工作正常。 现在我将它放在一个单独的base.js文件中,它就不再起作用了。 救命!
那是因为它不再是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>";
}
要么
改成
function showName(name) {
document.getElementById("name").innerHTML = "<p>Hello "+name+", How are you?</p>";
}
并在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>
PHP在服务器端处理,而不是在客户端处理。 您无法在客户端执行PHP代码。
这一切都不能在JS中运行php。 第二个是你必须做这样的smth以避免评论问题:
//<![CDATA[
function showName() {
document.getElementById("name").innerHTML = "<p>Hello <? echo $name; ?>, How are you?</p>";
}
//]]>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.