You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP echo生成onclick方法引号转义问题求助

PHP echo 生成 onclick 事件的引号转义问题

你的代码因引号嵌套冲突导致渲染异常,原代码如下:

echo "<div class='col-sm-3' onclick='ViewItem('" . $item['item_id'] . "')' style='cursor:pointer'>";

目标是生成正确的HTML:

<div class='col-sm-3' onclick='ViewItem("1")' style='cursor:pointer'>

解决方法

方法一:转义内部双引号

在PHP字符串中用\转义双引号,让浏览器能正确识别函数参数的引号:

echo "<div class='col-sm-3' onclick='ViewItem(\"" . $item['item_id'] . "\")' style='cursor:pointer'>";

方法二:调换引号层级

外层用双引号包裹字符串,内部函数参数用单引号,同时利用PHP双引号的变量插值特性:

echo "<div class='col-sm-3' onclick='ViewItem(\'{$item['item_id']}\')' style='cursor:pointer'>";

方法三:使用HEREDOC语法

这种写法无需频繁转义引号,可读性更强:

echo <<<HTML
<div class='col-sm-3' onclick='ViewItem("{$item['item_id']}")' style='cursor:pointer'>
HTML;

问题根源

原代码中onclick用单引号包裹函数调用,函数参数又使用单引号,导致浏览器解析时会把onclick='ViewItem('截断,后续内容无法被识别为事件的一部分,进而引发渲染异常。

内容的提问来源于stack exchange,提问作者Alexander Raymak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 23:15:49