Javascript html onClick打开存储在php变量中的url

Javascript html onClick打开存储在php变量中的url,javascript,php,html,Javascript,Php,Html,下面是我的代码,我得到了未捕获的语法错误:意外标记},但我在代码中没有看到任何}窗口。open需要引号中的url,我尝试了单引号和双引号的不同组合,但不起作用,也无法在echo中转义双引号。请帮助 谢谢 <?php $a = "https://www.google.co.in/"; ?> <html> <body> <form> <input type="button" width="100" onClick="window.open(

下面是我的代码,我得到了
未捕获的语法错误:意外标记}
,但我在代码中没有看到任何
}
<代码>窗口。open需要引号中的url,我尝试了单引号和双引号的不同组合,但不起作用,也无法在echo中转义双引号。请帮助

谢谢

<?php
$a = "https://www.google.co.in/";

?>

<html>
<body>
<form>

<input type="button" width="100" onClick="window.open(<?php echo '"'; echo $a; echo '"'; ?>)" height="100%" value="Edit Record"/>

</form>
</body>
</html>

您将<代码> <代码>字符输入到您的代码> OnCase< /Cord>属性值中。由于使用这些字符来分隔该值,第一个字符在语句的中间结束脚本。

改用


但这是一个快速和肮脏的黑客。有更好的办法

  • 不要试图通过将PHP字符串混合在一起来生成JavaScript字符串。使用健壮的转义函数
    json_encode
    将为任何简单数据结构提供JavaScript文本(包括所需的引号字符)
  • 不要试图通过将字符串混合在一起来生成HTML。使用健壮的转义函数
    htmlspecialchars
    将满足您的所有需求
例如:

onClick=“window.open()”

但是,当HTML可以执行以下操作时,不要使用JavaScript:

<a href="<?php echo htmlspecialchars($a); ?>" target="_blank">

您应该使用
echo“$a”
。主要问题是在onclick属性中使用双引号。或者更好的
window.open(“”)

要确定问题所在,请查看JavaScript和HTML,而不是PHP。
<a href="<?php echo htmlspecialchars($a); ?>" target="_blank">