在PHP中嵌入引号

时间:2012-02-13 20:48:58

标签: php

我需要在PHP中对引号进行三重嵌入才能正确执行javascript命令,我想知道是否有任何方法可以执行此操作。 例如,我试图三重嵌入的是

echo ("<tr id='regular' onMouseOver='highlight($emp,$job,$cust,$lat,$lng)' onMouseOut='unhighlight()'>
                    <td>$emp</td>
                    <td>$job</td>
                    <td>$cust</td>
                    <td>$lat</td>
                    <td>$lng</td>
                   </tr>\n");

问题是我需要输入'$ emp','$ job'和'$ cust',但每当我把它们放在第一个<td>之后就会结束onMouseOver。

6 个答案:

答案 0 :(得分:3)

您需要使用反斜杠\字符来转义引号。

这是一个例子

echo "\"Daniel\"";

"Daniel"打印带引号

有关详细信息,请参阅:http://us2.php.net/manual/en/language.types.string.php

答案 1 :(得分:2)

HEREDOCS

echo <<<HTML
<tr id="regular" onMouseOver="highlight('$emp','$job','$cust','$lat','$lng')" onMouseOut="unhighlight()">
  <td>$emp</td>
  <td>$job</td>
  <td>$cust</td>
  <td>$lat</td>
  <td>$lng</td>
</tr>
HTML;

答案 2 :(得分:1)

你无法在单引号中嵌套单引号。最简单的解决方案是使用转义双引号。

echo ("<tr id='regular' onMouseOver='highlight(\"$emp\",\"$job\",\"$cust\",\"$lat\",\"$lng\")' onMouseOut='unhighlight()'>
                    <td>$emp</td>
                    <td>$job</td>
                    <td>$cust</td>
                    <td>$lat</td>
                    <td>$lng</td>
                   </tr>\n");

答案 3 :(得分:1)

我不确定我理解你的问题,但我会试一试:

  • 要在字符串中嵌入引号(带引号),您需要转义它们,以便您可以执行以下操作:

    $string = "This is a string, and those: \"are quotes\"";
    
  • 要在没有怪癖的情况下将变量嵌入字符串中,请尝试使用大括号{}

    $string = "onMouseOver='highlight({$emp},{$job},{$cust},{$lat},{$lng})'";
    

答案 4 :(得分:1)

尝试这样的事情:

echo ('<tr id="regular" onMouseOver="highlight(\'$emp\', \'$job\', \'$cust\', \'$lat\', \'$lng\');" onMouseOut="unhighlight();">');
    echo ("<td>$emp</td>");
    echo ("<td>$job</td>");
    echo ("<td>$cust</td>");
    echo ("<td>$lat</td>");
    echo ("<td>$lng</td>");
echo ("</tr>\n");

\个字符使'不会影响字符串。

答案 5 :(得分:1)

你需要逃避'角色。

echo ("<tr id='regular' onMouseOver='highlight(\'$emp\',\'$job\',\'$cust\',\'$lat\',\'$lng\')' onMouseOut='unhighlight()'>
                    <td>$emp</td>
                    <td>$job</td>
                    <td>$cust</td>
                    <td>$lat</td>
                    <td>$lng</td>
                   </tr>\n");