0

我已经尝试了所有我知道的组合,但无法做到正确!

echo  <<<EOF

     <a href="javascript:popup('$comments')">Popup!</a>   

EOF;

我想将 $comments 中包含的字符串传递给弹出窗口,但我似乎无法获得转义字符和连接的正确组合。请帮忙!

TIA

编辑:这是进入我提到的字符串的 HTML。

$comments.= "<b>" . $row['comName'] . "</b><br><i>" . $row['comment'] . "</i><br><br>";
4

1 回答 1

1

您需要先将字符串转义为有效的 Javascript/JSON 以保留 Javascript 语法,然后转义 Javascript 以保留其嵌入的 HTML 的语法:

$js = sprintf('javascript:popup(%s)', json_encode($comments));
printf('<a href="%s">Popup!</a>', htmlspecialchars($js));

由于这很痛苦,因此您应该真正尝试使用不显眼的 Javascript,它将 Javascript 与 HTML 分开。

于 2013-04-09T03:15:21.523 回答