【发布时间】:2013-12-02 13:40:20
【问题描述】:
请帮我解决这个问题。我有一个生成 XML 的 php 文件。我有以下代码,我无法在 XML 中转义 JS 脚本,如下所示:
$xml_after='<html>'.htmlspecialchars('
<div class="options" id="options_'.$tables_row['id'].'">
<a class="insidetable" href="" title="'.$lang['delete'].'"
onClick="show_confirmation(\''.$messages['delete_table'].'\',\''.$lang['close'].'\',hide_element(\'confirmation\');\''.$lang['delete'].'\',remove_table(\''.$tables_row['id'].'\');hide_element(\'confirmation\');\');return false;\" ><img src="../images/interface/icons/delete.png" />
</a></div>').'</html>';
问题出在 onclick 函数中。 请帮忙,已经迷路了一整天,谢谢
【问题讨论】:
-
停止尝试通过将字符串混合在一起来生成 XML。使用 XML 库。
-
看起来更像 HTML,XML 没有 onclick 属性?
-
XML 具有您想要的任何属性。它不是 HTML(缺少标题元素)。
-
伙计们,我没有附上完整的代码,包括标签、标题等,因为错误在这个片段中。删除它后,html 出现并工作,只是一个愚蠢的单引号转义问题。我尝试了很多方法来逃避它,但没有成功
-
一般问题出在 show_confirmation() 函数中,因为它包含 3 个子函数,其中一个无法正确转义。如果我只删除 onclick ajax 发送正确的 html
标签: javascript php ajax xml escaping