php中的字符串与javascript中的字符串

fli*_*pis 3 html javascript php string

这是一个我遇到问题的简单代码:

<label id="label1">
<?php
echo "Text inside label1";
?>
</label>

<script language="JavaScript" type="text/javascript">
  var text = document.getElementById("label1").innerHTML;

  alert(text);    // show what's in variable 'text'

  if(text == "Text inside label1")
  {
    alert("I am inside.");
  }
  else
  { 
    alert("No.");
  }

</script>
Run Code Online (Sandbox Code Playgroud)

问题是第一个警报显示"文本在label1内"(应该这样做),但第二个警告显示"否".当我尝试将文本写入html(而不是通过php)时,它工作正常=>第二个警报显示"我在里面.".我不知道那里有什么问题.字符串类型(php与JS)或类似的东西之间是否存在一些差异?

谢谢你的任何想法

T.J*_*der 5

标签中文本开头有一个空格(HTML中的所有空格都折叠成一个空格),但不是在你要比较的字符串的开头.

你的PHP代码:

<label id="label1">
<?php
echo "Text inside label1";
?>
</label>
Run Code Online (Sandbox Code Playgroud)

...会像这样被发送到浏览器(PHP会在?>你之后删除换行符):

<label id="label1">
Text inside label1</label>
Run Code Online (Sandbox Code Playgroud)

......就像

<label id="label1"> Text inside label1</label>
Run Code Online (Sandbox Code Playgroud)

(注意空间.)

所以这应该解决它:

<label id="label1"><?php
echo "Text inside label1";
?></label>
Run Code Online (Sandbox Code Playgroud)