Javascript 如何将带引号的php变量放入onclick?

Javascript 如何将带引号的php变量放入onclick?,javascript,php,html,Javascript,Php,Html,我不知道如何正确地将php变量放入onclick中,这样它就不会导致某种错误:我不知道该往哪个方向走。似乎只要有引号,就会导致这个错误。也许还有其他角色也会引起问题。页面确实加载了,当我按下infoIconButtonImage时,错误发生了。以下是我尝试过的: while($stmt->fetch()) { $shortDescription = preg_replace("/\r\n|\r|\n/",' ', $shortDesc

我不知道如何正确地将php变量放入onclick中,这样它就不会导致某种错误:我不知道该往哪个方向走。似乎只要有引号,就会导致这个错误。也许还有其他角色也会引起问题。页面确实加载了,当我按下infoIconButtonImage时,错误发生了。以下是我尝试过的:

while($stmt->fetch()) 
{                       
    $shortDescription = preg_replace("/\r\n|\r|\n/",' ', $shortDescription);
    $longDescription = preg_replace("/\r\n|\r|\n/",'<br/>', $longDescription);
    $price = preg_replace("/\r\n|\r|\n/",' ', $price);


    echo "<div class=\"iconButtonContainer\"><img class=\"infoIconButtonImage\" src=\"Images/item_info_button_image.png\" alt=\"\" onclick=\"showMoreItemInfo(this, '$price', '$imageUrl', '$shortDescription', '$longDescription')\"></div>";
}
我已经删除了我认为不必要的部分代码。以下是数据和错误:

试一试


我建议去掉内联javascript。您可以将所有内容放在javascript块中,在该块的顶部,您可以使用json_encode将所有php变量发送到javascript。当然,你也可以在内联javascript中使用json_encode…我是一个新手,不知道该怎么做:在一行代码中混用三种不同的语言只是在乞求引用错误…@Mihai我不确定我是否理解。。。我已经在行的开头回显了,那么整个语句不是已经被识别为php了吗?
echo "<div class=\"iconButtonContainer\"><img class=\"infoIconButtonImage\" src=\"Images/item_info_button_image.png\" alt=\"\" onclick=\"showMoreItemInfo(this, '" . $price . "', '" . $imageUrl . "', '" . $shortDescription . "', '" . $longDescription . "')\"></div>";