如何在使用多个引号时回显PHP

时间:2012-03-17 23:25:52

标签: php jquery

我该怎么引用这个:

<tr onclick="$.colorbox({href:'information1.html'});">

放入echo " ";

我试过这个:

echo "<tr onclick='$.colorbox({href:'information1.html'});'>";

显示Jquery错误。

我试过这个:

echo "<tr onclick="$.colorbox({href:'information1.html'});">";

显示PHP错误。

有任何变通方法吗?感谢

9 个答案:

答案 0 :(得分:5)

您需要转义引号符号:

echo '<tr onclick="$.colorbox({href:\"information1.html\"});">'

请注意,使用内联脚本不是一种好习惯!

echo '<tr class="foo">'

在javascript代码中:

$('.foo').click(function() {
    $.colorbox({ href: "information1.html" });
});​

答案 1 :(得分:4)

简单地逃避报价。虽然在这个主题上我觉得重要的是要提到这样一个事实,即一般来说,你应该使用单引号代码'代码'和双引号仅用于显示的字符串。

这源于C标准,如果您想要实施gettext()并将您的网站翻译成多种语言,保持这种一致性将在未来帮助您。

echo '<tr onclick="$.colorbox({href:\'information1.html\'});\">';

话虽如此,有更好的方法来实现你正在做的事情。给该行一个id:

<tr id="inforow" />

当DOM准备就绪时,使用jQuery绑定到它的click事件。

$(document).ready(function() {
    $(".inforow").click(function() {
        $.colorbox({href:'information1.html'});
    });
});

答案 2 :(得分:3)

无论何时你想要打印带有引号的字符串,只需使用转义字符'\'忽略引号作为文字结束引号,如下所示:

echo "<tr onclick=\"$.colorbox({href:'information1.html'});\">";

答案 3 :(得分:1)

试试:

echo "<tr onclick=\"$.colorbox({href:'information1.html'});\">";

答案 4 :(得分:1)

echo "<tr onclick=\"$.colorbox({href:'information1.html'});\">";

答案 5 :(得分:1)

echo "<tr onclick=\"$.colorbox({href:'information1.html'});\">";

答案 6 :(得分:1)

我会使用PHP方法而不是关心引号

echo '<tr onclick="'.
          htmlentities('$.colorbox('.json_encode(array('href'=>'information.html'))).')">';

...无论您使用什么字符,都会始终创建正确的JSON和正确的HTML。

答案 7 :(得分:1)

无需引用它。
不需要发出回声“”;

保持原样:

?>
<tr onclick="$.colorbox({href:'information1.html'});">
<?

以及任何其他HTML。

这是PHP。它是HTML中的嵌入式。您可以随时离开PHP模式

答案 8 :(得分:0)

另一种方法是使用EOD

$string = <<<EOD
"duble quotation" and 'quotation' all enable
EOD;
echo $string;