php代码中的Javascript不显示

php代码中的Javascript不显示,php,javascript,Php,Javascript,我的php代码中有 var_dump($var); $var =' <script type="text/javascript"> '.$var.' </script>' ; var_dump($var); var\u dump($var); $var='1 “.$var.” ' ; var_dump($var); 第一个var\u dump正确显示某些值,但第二个显示空字符串 : 注意:未定义变量:第3行 空 注意:未定义变量:第7行 字符串(50)”“

我的php代码中有

var_dump($var);

$var ='
<script type="text/javascript">
    '.$var.'
</script>'
;

var_dump($var);
var\u dump($var);
$var='1
“.$var.”
'
;
var_dump($var);
第一个
var\u dump
正确显示某些值,但第二个显示空字符串

:

注意:未定义变量:第3行

注意:未定义变量:第7行
字符串(50)”“PHP注意:未定义变量:第3行/code/idpmo中的var PHP注意:未定义变量:第7行/code/idpmo中的var


为什么会这样?

这是因为您的浏览器处理它就像处理脚本一样。
脚本未显示它们正在运行,因此脚本位于源代码中,不会显示在屏幕上

可能是因为您将
内容类型
标题保留为默认值,并且文档正在作为HTML处理

脚本元素在页面上没有可见的效果

您可以通过以下方式查看数据:

  • 编写将公开数据的JS(您必须确保它在语法上是有效的JS)
  • 使用DOM检查器
  • 查看源
  • 添加
    标题('Content-Type:text/plain')到PHP

查看HTML页面的源代码,如果它正确地显示了var dump,那么这应该与javascript语法相关

您可能会看到如下内容:

字符串(48)”

这是因为web浏览器正在理解并处理脚本标记,而不是显示文本

如果希望能够看到文本,请使用htmlentities函数,以便转换特殊的HTML字符,而不被浏览器理解为标记:


print-htmlentities($var)

右键单击-查看源您可能需要转义变量。空字符串?你肯定会在引号前的括号内看到一个零?“注意:第3行的/code/idpgom中的未定义变量:var”应该是不言自明的,但是有输出。看到
字符串(50)
了吗?这意味着$var是一个长度为50的字符串。试试这个:
var_dump(htmlspecialchars($var))