正确的转义字符组合来在JavaScript中注入PHP?
问题描述:
我已经试过了解我所知道的所有组合,但无法正确使用!正确的转义字符组合来在JavaScript中注入PHP?
echo <<<EOF
<a href="javascript:popup('$comments')">Popup!</a>
EOF;
我想通过包含在$意见,在弹出的字符串,但我似乎无法得到的转义字符和串联的正确组合。请帮助!
TIA
编辑:这是进入我所提到的字符串的HTML。
$comments.= "<b>" . $row['comName'] . "</b><br><i>" . $row['comment'] . "</i><br><br>";
答
你需要逃避串有效的JavaScript/JSON第一保持JavaScript语法,然后逃逸的JavaScript保存HTML语法它嵌入:
$js = sprintf('javascript:popup(%s)', json_encode($comments));
printf('<a href="%s">Popup!</a>', htmlspecialchars($js));
由于这是相当一个痛苦,你应该真的尝试去寻找unobtrusive Javascript,它将Javascript与HTML分开。
谢谢,这看起来很复杂,但仍然没有传递给弹出窗口。 – 2013-04-09 03:18:37
结果HTML是什么? – deceze 2013-04-09 03:19:14
现在工作完美。我将其设置为一个变量,并将其放在EOF字段中,而不是printf。我将阅读那篇文章,看看我是否可以将该方法应用到我的工作流程中。我只是在学习Ajax和JQuery以及它导致一些混乱的代码。 – 2013-04-09 03:22:36