html on单击打开存储在php变量中的url

html onClick open url stored in a php variable

本文关键字:变量 php url 存储 on 单击 html      更新时间:2023-09-26

下面是我的代码,我得到了Uncaught SyntaxError: Unexpected token },但我在代码中没有看到任何}window.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>

您正在将"字符输出到onClick属性值中。由于使用这些字符来分隔值,所以第一个字符会在语句中间结束脚本。

请改用&quot;


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

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

例如:

onClick="window.open(<?php echo htmlspecialchars(json_encode($a)); ?>)"

但不要在HTML可以使用的时候使用JavaScript:

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

您应该使用echo "'$a'"。主要的问题是在onclick属性中使用双引号。或者更好的window.open('<?php echo $a; ?>')