php中嵌入的Javascript警报函数在解释客户端消息时出现问题

php中嵌入的Javascript警报函数在解释客户端消息时出现问题,javascript,php,html,alert,Javascript,Php,Html,Alert,我试图在php代码中使用javascript警报函数在客户端显示消息 //Show concept detail public function showConceptDetail($concept){ $msg =""; switch ($concept) { case 'class': $msg = 'Hey, I am single line with spaces'; break; default:

我试图在php代码中使用javascript警报函数在客户端显示消息

//Show concept detail
public function showConceptDetail($concept){
    $msg ="";
    switch ($concept) {
        case 'class':
            $msg = 'Hey, I am single line with spaces';
        break;
        default:
        break;
    }
    return "alert('".$msg."')";
}

public function showListConcept(){
    $a= '$this->showConceptDetail()';
    $list = <<<LIST
    <ul>
        <li><a href="#" onClick= {$this->showConceptDetail('class')} >Class </a></li>
        <li><a href="#">Object </a></li>
        <li><a href="#">Member Variable </a></li>
        <li><a href="#">Member function</a></li>
        <li><a href="#">Inheritance</a></li>
        <li><a href="#">Parent class</a></li>
        <li><a href="#">Child Class</a></li>
        <li><a href="#">Polymorphism</a></li>
        <li><a href="#">Overloading</a></li>
        <li><a href="#">Data Abstraction</a></li>
        <li><a href="#">Encapsulation</a></li>
        <li><a href="#">Constructor</a></li>
        <li><a href="#">Destructor</a></li>

    </ul>
LIST;       
    echo "List of POO concepts: ".$list;
}
每次检查源时,我都会得到一个奇怪的输出:

<a href="#" onclick="alert('Class" −="" this="" is="" a="" programmer-defined="" data="" type,="" which="" includes="" local="" functions="" as="" well="" data.="" you="" can="" think="" of="" class="" template="" for="" making="" many="" instances="" the="" same="" kind="" (or="" class)="" object.')="">Class </a>


警报功能消息中的每个空格由“”交换;我不知道发生了什么。

我复制并粘贴了它,然后运行了您提供的代码。没有问题。我注意到这里/现在的文档中没有引号。除此之外,似乎没有问题。一定还有别的问题。在处理输出时还发生了什么?您的代码或注释中是否有其他地方的输出消息

下面是名为index.php的完整示例文件,后面是命令行中的输出

    <?php

class abc
{
//Show concept detail
public function showConceptDetail($concept){
    $msg ="";
    switch ($concept) {
        case 'class':
            $msg = 'Hey, I am single line with spaces';
        break;
        default:
        break;

    }
    return "alert('".$msg."')";
}

public function showListConcept(){
    $a= '$this->showConceptDetail()';
    $list = <<<LIST
    <ul>
        <li><a href="#" onClick= {$this->showConceptDetail('class')} >Class </a></li>
        <li><a href="#">Object </a></li>
        <li><a href="#">Member Variable </a></li>
        <li><a href="#">Member function</a></li>
        <li><a href="#">Inheritance</a></li>
        <li><a href="#">Parent class</a></li>
        <li><a href="#">Child Class</a></li>
        <li><a href="#">Polymorphism</a></li>
        <li><a href="#">Overloading</a></li>
        <li><a href="#">Data Abstraction</a></li>
        <li><a href="#">Encapsulation</a></li>
        <li><a href="#">Constructor</a></li>
        <li><a href="#">Destructor</a></li>

    </ul>
LIST;
    echo "List of POO concepts: ".$list;
  }
}  


$abc = new abc();
$abc->showListConcept();

?>
sandbox>php  index.php
List of POO concepts:     <ul>
        <li><a href="#" onClick= alert('Hey, I am single line with spaces') >Class </a></li>
        <li><a href="#">Object </a></li>
        <li><a href="#">Member Variable </a></li>
        <li><a href="#">Member function</a></li>
        <li><a href="#">Inheritance</a></li>
        <li><a href="#">Parent class</a></li>
        <li><a href="#">Child Class</a></li>
        <li><a href="#">Polymorphism</a></li>
        <li><a href="#">Overloading</a></li>
        <li><a href="#">Data Abstraction</a></li>
        <li><a href="#">Encapsulation</a></li>
        <li><a href="#">Constructor</a></li>
        <li><a href="#">Destructor</a></li>

    </ul>

然后使用命令行

    <?php

class abc
{
//Show concept detail
public function showConceptDetail($concept){
    $msg ="";
    switch ($concept) {
        case 'class':
            $msg = 'Hey, I am single line with spaces';
        break;
        default:
        break;

    }
    return "alert('".$msg."')";
}

public function showListConcept(){
    $a= '$this->showConceptDetail()';
    $list = <<<LIST
    <ul>
        <li><a href="#" onClick= {$this->showConceptDetail('class')} >Class </a></li>
        <li><a href="#">Object </a></li>
        <li><a href="#">Member Variable </a></li>
        <li><a href="#">Member function</a></li>
        <li><a href="#">Inheritance</a></li>
        <li><a href="#">Parent class</a></li>
        <li><a href="#">Child Class</a></li>
        <li><a href="#">Polymorphism</a></li>
        <li><a href="#">Overloading</a></li>
        <li><a href="#">Data Abstraction</a></li>
        <li><a href="#">Encapsulation</a></li>
        <li><a href="#">Constructor</a></li>
        <li><a href="#">Destructor</a></li>

    </ul>
LIST;
    echo "List of POO concepts: ".$list;
  }
}  


$abc = new abc();
$abc->showListConcept();

?>
sandbox>php  index.php
List of POO concepts:     <ul>
        <li><a href="#" onClick= alert('Hey, I am single line with spaces') >Class </a></li>
        <li><a href="#">Object </a></li>
        <li><a href="#">Member Variable </a></li>
        <li><a href="#">Member function</a></li>
        <li><a href="#">Inheritance</a></li>
        <li><a href="#">Parent class</a></li>
        <li><a href="#">Child Class</a></li>
        <li><a href="#">Polymorphism</a></li>
        <li><a href="#">Overloading</a></li>
        <li><a href="#">Data Abstraction</a></li>
        <li><a href="#">Encapsulation</a></li>
        <li><a href="#">Constructor</a></li>
        <li><a href="#">Destructor</a></li>

    </ul>
sandbox>php index.php
《公安条例》概念清单:
仔细想想: 如果在警报周围加上引号会发生什么?如果没有引号,Html解析器会自动添加“”。 onClick=“{$this->showConceptDetail('class')}”