Javascript 打开存储在PHP中的onclick输入

Javascript 打开存储在PHP中的onclick输入,javascript,php,jquery,Javascript,Php,Jquery,目前,我的网站有一些问题,我正在尝试将我的下载链接存储在输入按钮后面我正在使用以下php脚本为我的下载按钮回显一些样式化的数据 $data['link'] = $link; $data['name'] = $name; print '<input type="button" value="скачать" onclick="window.open(''.$data['link'].'')">'; print '<input type="button" value="скачат

目前,我的网站有一些问题,我正在尝试将我的下载链接存储在
输入按钮后面
我正在使用以下php脚本为我的下载按钮回显一些样式化的数据

$data['link'] = $link;
$data['name'] = $name;
print '<input type="button" value="скачать" onclick="window.open(''.$data['link'].'')">';
print '<input type="button" value="скачать" onclick="window.open(''.$data['link'].'')">';
$data['link']=$link;
$data['name']=$name;
打印“”;
打印“”;

由于括号中的
导致上述问题,我可以做什么替代解决方案来复制相同的结果,我不能在
php
代码之外加载它,因为我包含的下载链接太多,它会非常混乱。

你不能在
onclick
事件中转义引号。必须在外部单引号前添加反斜杠:

print '<input type="button" value="скачать" onclick="window.open(\''.$data['link'].'\')">';

这将
替换为
替换为
'

您是否尝试过像
\'
这样转义内部单引号?@Vin我刚刚纠正了一个错误。您必须使用htmlspecialchars。
print '<input type="button" value="скачать"
    onclick="window.open(\''. addslashes($data['link']) .'\')">';
print '<input type="button" value="скачать"
    onclick="window.open(\''. htmlspecialchars($data['link']) .'\')">';